i++中什么時(shí)候取值i或取值i+1
#include <stdio.h>
int main()
{
? ? /* 小伙伴們:
? ? ? ? ? ?選擇你們認(rèn)為最合理的循環(huán)結(jié)構(gòu)完成功能吧 */
? ? int sum = 0; ?//定義計(jì)算結(jié)果變量sum
? ? int i = 1; ? ?//定義循環(huán)數(shù)字變量i
? ? int flag = 1; //定義符號(hào)狀態(tài)變量flag
? ??
? ? //使用while循環(huán)
? ? while(i<=100)
? ? {
? ? ? ? i++;
? ? ? ? sum=sum+i;
? ? }
? ? printf("%d",sum);
? ? return 0;
}
這樣的話應(yīng)該是2加到101吧,題目中把i++放在前邊,就變成了2-3+4-5.......-101,雖然結(jié)果也是-50,好像不對(duì)吧
2015-11-17
#include <stdio.h>
int main()
{
? ? /* 小伙伴們:
? ? ? ? ? ?選擇你們認(rèn)為最合理的循環(huán)結(jié)構(gòu)完成功能吧 */
? ? int sum = 0; ?//定義計(jì)算結(jié)果變量sum
? ? int i = 1; ? ?//定義循環(huán)數(shù)字變量i
? ??
? ??
? ? //使用while循環(huán)
? ? while(i<=100)
? ? {
? ? ? ? i++;
? ? ? ? sum=sum+i;
? ? }
? ? printf("%d",sum);
? ? return 0;
}
按照你的說法,這個(gè)應(yīng)該是1加到100咯,但運(yùn)算結(jié)果為5150,這是為什么呢?
2015-11-14
i++是先賦值再加1,而++i才是先加1再賦值,所以題目不會(huì)錯(cuò)。謝謝采納