原始錯誤代碼
#include<stdio.h>
void main( ) {
int a,b,sum;
printf("輸入第一個數a; ");
scanf( "%d", &a );
printf(輸入第一個數b; "); // 錯誤 1
scanf( "%d, &b); // 錯誤 2
sum=a+b;
printf("%d和%d的和是%d \n",a,b,sum): // 錯誤 3
}
錯誤分析與修正
| 行號 | 錯誤描述 | 修正代碼 |
| 5 | printf 字符串缺少左雙引號 | printf("輸入第一個數b; "); |
| 6 | scanf 格式字符串缺少左雙引號,且 &b 前多逗號 | scanf("%d", &b); |
| 9 | printf 結尾使用中文冒號 : 而非分號 ; | printf("%d和%d的和是%d \n", a, b, sum); |
修正後完整代碼
#include <stdio.h>
int main(void) { // 建議標準 main 返回 int
int a, b, sum;
printf("輸入第一個數 a: ");
scanf("%d", &a);
printf("輸入第二個數 b: "); // 修正提示語
scanf("%d", &b);
sum = a + b;
printf("%d 和 %d 的和是 %d\n", a, b, sum);
return 0;
}
避錯清單
- 雙引號成對:字符串常量必須用英文雙引號
"..." 包裹。
- 標點符號:C 語言語句以英文分號
; 結尾,參數間用英文逗號 , 分隔。
- 格式字符串:
scanf/printf 的第一個參數必須是字符串字面量,不能漏寫引號。
- 主函數規範:推薦
int main(void) 並 return 0;,而非 void main()。