2012-04-06 77 views
-3

這是我的C代碼:C中printf()的異常行爲?

#include<stdio.h> 

int main() 
{ 
printf("hello","world"); 
} 

當我跑在我的系統的代碼它僅表現爲hello output.Why是沒有顯示的Hello World作爲輸出?在hello和world之間使用的意義是什麼?任何人都可以向我解釋這個嗎?

在此先感謝。

+2

這不是printf的工作方式。閱讀[這裏](http://www.cplusplus.com/reference/clibrary/cstdio/printf/) – jpm 2012-04-06 12:17:13

+0

把逗號拿出來會給你一個'無空間(hello)的世界;) – 2012-04-06 12:24:18

回答

5

您打電話printf有兩個參數。該聲明中逗號的意義在於它用於區分兩個參數。

printf的第一個參數是一個可以包含佔位符的格式字符串。其餘的參數是將被替換爲格式字符串而不是佔位符的值。但是你的格式字符串沒有佔位符,所以不使用第二個參數。

這工作雖然:

printf("hello %s", "world"); 
1

二者必選其一printf("hello world")printf("hello %s", "world")。你寫的不符合printf manual