C语言增量运算符的前缀和后缀形式的区别是什么?高手请进来帮忙解答下

(1)
#include <stdio.h>

void main()
{
long sum = 0L;
int count = 0;
int i = 0;

printf("\nEnter the number of integers to be sum:");
scanf("%d",&count);

for(i = 1;i <= count ;i++)
sum += i;

printf("\nTotal of the first %d number is %ld.",count,sum);
getch();
}

(2)
#include <stdio.h>

void main()
{
long sum = 0L;
int count = 0;
int i = 0;

printf("\nEnter the number of integers to be sum:");
scanf("%d",&count);

for(i = 1;i <= count ;++i)
sum += i;

printf("\nTotal of the first %d number is %ld.",count,sum);
getch();
}

我想问一下这俩个程序之间有什么区别 答案结果都是一样的 增量运算符 i++ 和 ++i 在程序使用中有什么区别么?麻烦高手详细解答一下 最好举例说明
i++ 和 ++i 的区别就在于一个先赋值一个后赋值呗?
能不能举写一个简单的完整程序让我看看?
小弟还没学到while循环呢。for循环也是刚刚才看到。所以太难的程序小弟看不太懂。麻烦各位了。

b=c++;//先赋值给b,c再加1
a=++c;//c先加1,再赋值给a

那么如果c=2 b=5 b=c++的结果是多少呢?

i++
是先读取i的值在进行加1
++1
是先进行加1,再读取i的值
放到for里面没效果,因为不管i++还是++i,都不会取当时i的值,而是在这一步过了才取到它的值。
下面举个简单例子:
main()
{
int i=1;
int j=1;

while(i++ <4)
printf("i++ say hello!\n");

while(++j < 4)
printf("++j say hello!\n");
}

你运行下就知道结果了

while循环就是满足条件时一直运行,直到不满足才跳出

你给的这个式子的答案是b=2 ,c=3.

main()
{
int c=2;
int b=5;
b=c++;
printf("c=%d, b=%d \n",c,b);

}

用这个程序验证
先把c的2赋给了b,然后c自增。
如果是++c,那么就是先c自增,然后赋给b
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-08-18
i++ 在 整个运算没结束 值依然是i
++i 在 整个运算没结束 值是i+1

for 函数没变的原因是,,

因为for 是运行后在 ++的

for(i = 1;i <= count ;i++)
sum += i;

是 i = 1 ;i <= count ; sum += i; i++ (这个范围内值才有区别);这样的循环

for(i = 1;i <= count ;++i)
sum += i;

是 i = 1 ;i <= count ; sum += i; ++i ;这样的循环
第2个回答  2008-08-18
在这个循环里面用到i++和++i是没什么区别的,它只起到加的作用,而他们的结果都会加1的

但是你输出或者在其它赋值的时候就不同了
b=c++;//先赋值给b,c再加1
a=++c;//c先加1,再赋值给a
第3个回答  2008-08-18
i++
先把i的初值赋给表达式(i++),作为表达式(i++)的值,然后i自增1作为i的值。
如i=1,则表达式(i++)的值等于1,而i的值变为2。
++i
i先自增1,再把自增后的值赋给表达式(++i)。
如i=1,则表达式(++i)的值等于2,i的值也为2,

i--和i++同理
--i和++i同理