首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

C 語言計算平均值程式無輸出?缺少換行導致緩衝區未刷新

     編輯:程式設計疑難解答

現象分析

代碼邏輯正確,但 printf("%d\n", d); 若無換行符 \n,標準輸出為全緩衝/行緩衝,程式結束前緩衝區未刷新,導致終端機無顯示。

修正方法

// 方法 1:加換行 (觸發行緩衝刷新)
printf("%d\n", d);

// 方法 2:手動刷新
printf("%d", d);
fflush(stdout);

// 方法 3:關閉緩衝 (調試用)
setbuf(stdout, NULL);

補充:scanf 格式字串錯誤

原代碼 scanf("%if", &n); 應為 scanf("%lf", &n); (double 用 %lf),否則讀取失敗導致 n 未初始化,結果不可預期。

完善版代碼

#include 
int main() {
    double a, b, c;
    if (scanf("%lf %lf %lf", &a, &b, &c) != 3) return 1;
    printf("%.2f\n", (a + b + c) / 3.0); // 保留兩位小數更合理
    return 0;
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved