亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么這段程序里不能是++n

#include <stdio.h>
int main()
{
??? // 定義變量sum, num
??? int sum, num;?
??? sum = 0;
??? for(num = 0;num<=10;++num) //for循環條件與num的變化值
??? {
???? sum=sum+num; //計算每次數字之間的和sum
??? }
??? printf("10以內數的和為:%d", sum);
??? return 0;
}


為什么不可以是++n?

正在回答

6 回答

其實在這里++m和m++沒什么區別,因為num是0,如果num是1就不行了


0 回復 有任何疑惑可以回復我~
對于這道題其實沒什么差別,因為首先是判斷num是不是<=0,接下來執行求和語句num+=sum,第三部才是num的自增,應為這一步無論是先自增還是后自增對于下一步來說都不影響,都會在下一次求和之前加1,只不過++n對于這道題其實沒什么差別,因為首先是判斷num是不是<=0,接下來執行求和語句num+=sum,第三部才是num的自增,應為這一步無論是先自增還是后自增對于下一步來說都不影響,都會在下一次求和之前加1,只不過++num是一次循環完畢后,而num++是當即運行。um是一次循環完畢后,而num++是當即運行。
0 回復 有任何疑惑可以回復我~
#1

慕斯6557155

有重復的,湊合看
2018-12-11 回復 有任何疑惑可以回復我~

此處 num++ 意思就是,先取num的值,即num=0,并不是取了num的值后就進入到表達式2的判斷,而是進行num+1=1,得到num=1后隨即進行表達式2的判斷。

0 回復 有任何疑惑可以回復我~

不輸出的話都一樣 都是變成n=n+1

0 回復 有任何疑惑可以回復我~

我跟你的疑問一樣


0 回復 有任何疑惑可以回復我~

++n是先加再取值,這樣會導致第一個數字為2而不是1

n++是先取值再加,他會先去i=1,然后運行i+1并將值賦予i中得到2,以此類推

0 回復 有任何疑惑可以回復我~
#1

慕運維5519014

不會呀,n初始值為0,先加再取也是1啊,,,我好像不太懂你說的,,兄dei
2018-11-11 回復 有任何疑惑可以回復我~
#2

閏土無聲 回復 慕運維5519014

確實++n和n++是沒什么區別的,不管n++還是++n,n都要自身加1,但是如果是n++,則返回值為舊值,如果是++n,則返回值為新值。
2018-11-13 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么這段程序里不能是++n

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號