你寫的這個照理來說應該不能成功執行才對(可能是我們版本或是軟體不同的原因)。
因為for()裡的int sum=1是for迴圈的區域變數,當跳出for迴圈後,這個區域變數就不存在了。而main function 裡的int sum; 沒有初始值,且你的printf在for迴圈外,是找不到sum的值的。
我以你的寫法寫了一遍
Engineering & Technology
Mahasiswa
請問我的程式是哪裡寫錯呢
假如使用者輸入5,他會顯示1+2+3+4+5=0
1+2+...+n.cpp
1 /*1+2+...+n=?*/
2. #include<stdlib.h>
3 #include<stdio.h>
49 int main(void) {
5
int n, sum;
6 printf("請輸入一個整數n(n>0):\n");
7 scanf("%d",&n);
8
printf("1");
96 for(int i=2, sum=1;i<=n;i++){
10
sum=sum+1;
11
printf("+%d",i);
12
}
13 printf("=%d\n", sum);|
14 system("pause");
15
return 0;
16
17 L }
18
CAUsers\User\Desktop\c practice 1+2+...+n.cpp - [Executing) - Dev-C++ 5.11
增安(組(日復星(S)按汽0 手套(P) 到了7) 工具D AStyle 很差(0) 茨前(H)
一
ICE
C:\Users\User\Desktop\c practice\1+2+...+n.exe
請輸入一個整數(n>0):
5
1+2+3+4+5=0
請按任意鍵繼續
Answers
Apa kebingunganmu sudah terpecahkan?
Pengguna yang melihat pertanyaan ini
juga melihat pertanyaan-pertanyaan ini 😉