C语言中for(n=1;n<100;++n)和for(n=1;n<100;n++)的区别
答案:3 悬赏:0
解决时间 2021-01-28 10:49
- 提问者网友:聂風
- 2021-01-28 03:42
C语言中for(n=1;n<100;++n)和for(n=1;n<100;n++)的区别
最佳答案
- 二级知识专家网友:一袍清酒付
- 2021-01-28 05:20
楼主你这样写就,没有区别。都是在循环完了才做++n n++。最终n的值都加了1
你要是for(n=1;++n<100;)
for(n=1;n++<100;)
就有区别啦
++n是取n加完1后的值
n++是取n当前值,运算后才加1
所以最后++n=99<100.n=99
而第二个n++=99<100.n=100.
这个在灵活运用之前要想一下,不用丢一
你要是for(n=1;++n<100;)
for(n=1;n++<100;)
就有区别啦
++n是取n加完1后的值
n++是取n当前值,运算后才加1
所以最后++n=99<100.n=99
而第二个n++=99<100.n=100.
这个在灵活运用之前要想一下,不用丢一
全部回答
- 1楼网友:神的生死簿
- 2021-01-28 06:29
其实从循环的角度说都循环了99次
100此时结束你编译一下就知道了
主要是for循环第一次是进行n的赋值 比较 循环到for句尾 n才++n怎么加都不会影响for循环
void main()
{
int n;
for(n=1;n<100;++n)
{
printf("%d",n);
}
printf("\n%d\n",n);
for(n=1;n<100;n++)
{
printf("%d",n);
}
printf("\n%d\n",n);
}
你运行下就知道了
100此时结束你编译一下就知道了
主要是for循环第一次是进行n的赋值 比较 循环到for句尾 n才++n怎么加都不会影响for循环
void main()
{
int n;
for(n=1;n<100;++n)
{
printf("%d",n);
}
printf("\n%d\n",n);
for(n=1;n<100;n++)
{
printf("%d",n);
}
printf("\n%d\n",n);
}
你运行下就知道了
- 2楼网友:长青诗
- 2021-01-28 06:19
无论前置还是后值,++ 都会使其操作数的值增 1。不同的是,++ 前置时,自增表达式(如 ++n)的值等于其操作数自增后的值;++ 后置时,自增表达式(如 n++)的值等于其操作数自增前的值。例如:
int n = 5, post = 1, pre = 1;
pre = ++n + pre;// 运算结束后 pre 为 7,n 为 6
n = 5;
post = n++ + post;// 运算结束后 post 为 6,n 为 6
上例中,++n 的值等于 n 自增后的值,即 6,所以 pre 最后得到的值为 7。n++ 的值等于 n 自增前的值,即 5,所以 post 最后得到的值为 6。
int n = 5, post = 1, pre = 1;
pre = ++n + pre;// 运算结束后 pre 为 7,n 为 6
n = 5;
post = n++ + post;// 运算结束后 post 为 6,n 为 6
上例中,++n 的值等于 n 自增后的值,即 6,所以 pre 最后得到的值为 7。n++ 的值等于 n 自增前的值,即 5,所以 post 最后得到的值为 6。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯