【发布时间】:2015-03-25 18:42:55
【问题描述】:
对不起,我还是 C 的菜鸟。 我想知道为什么 post 和 prefix 在“printf”中具有不同的效果,但在“for”或其他循环中具有相同的效果?
示例:
#include <stdio.h>
main()
{
int number = 0;
printf("%d.\n", ++number); //It prints 1
return 0;
}
...............
printf("%d.\n", number++); //it prints 0
...............
但在“为”中
#include<stdio.h>
main()
{
int number;
for (number = 0; number < 5; ++number);
{
printf("%d\n", number); //it prints 0,1,2,3,4
}
return 0;
}
.............
for (number = 0; number < 5, number++);
{
printf("%d\n", number); //it prints 0,1,2,3,4
}
.........................
【问题讨论】:
-
如果不使用表达式的值,也没关系。你看到丢弃一个值然后给变量加 1 和给变量加 1 和丢弃值之间的区别吗?
-
是的,我可以看到差异。
标签: c prefix mathematical-expressions