当前位置:编程学习 > C/C++ >>

教材 计算机程序设计基础(C语言)P47 上的例题,求详解。。。

#include<stdio.h>
main()
{
 int i=8;
 printf("%d\n%d\n%d\n%d\n%d\n%d\n",++i,--i,i++,i--,-i++,-i--);
}

结果

8

7

8

8

-8

-8

 

能详细解释下么??高手们,我是新手。。。。

++i不是不是指先自增1再参与其它运算么?为啥这里输出的是8?

如果把程序改成

#include<stdio.h>
main()
{
 int i=8;
 printf("%d\n",++i);
}

结果

9

这是为啥啊??

追问:额。。这个程序
#include<stdio.h>
main()
{
 int i=8;
 printf("%d\n",++i);
 printf("%d\n",--i);
 printf("%d\n",i++);
 printf("%d\n",i--);
 printf("%d\n",-i++);
 printf("%d\n",-i--);
}
与上面的不同,对吧??你讲从右到左运算,能更详细的解释下么??大侠。。。
答案:
我晕,你忘了C语言是从又到左运算的?楼下纯属乱讲!C运算只跟定义有关,跟编译器有毛线关系。这程序无论什么编译器结果都一样!
这个要看编译器哩,但VC类的结果就9,我们常用的多数是这样子!
++在前边时先加后用,++在后边时先使用后加


++i 就是先进行i=i+1然后再出i但i++就是先用i然后再对i进行加1操作

上一个:求数据结构课程设计“八皇后问题”C语言(有注解)
下一个:C语言里面结构体与共同体是啥意思具体指的是什么

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,