首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C語言趣味面試題:printf 嵌套調用輸出「4321」原理解析

     編輯:關於C語言

C語言趣味面試題:printf 嵌套調用輸出「4321」原理解析

代碼:

#include <stdio.h>
int main() {
    printf("%d", printf("%d", printf("%d", 43)));
    return 0;
}

輸出:4321

逐層拆解

  1. 最內層 printf("%d", 43) → 輸出 43,返回值 2(打印字符數)。
  2. 中間層 printf("%d", 2) → 輸出 2,返回值 1。
  3. 最外層 printf("%d", 1) → 輸出 1,返回值 1(未被使用)。

連續輸出無分隔符,故終端顯示 4321。

核心知識點

  • printf 返回「成功輸出的字符數」,負值表示錯誤。
  • 參數求值順序:由內而外(函數調用遞歸)。
  • 面試常考:printf 返回值、副作用、格式化字符串漏洞。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved