這可能是個愚蠢的問題,但我很困惑。這就是我清除疑慮的原因。昨天,我的採訪中我得到了像什麼是printf的返回類型
char ch="Hello";
printf("%d",printf("%s",ch));
我想printf
一個問題是空型功能,因爲我從來沒有見過printf
功能分配給任何一個變量。所以,我告訴,它會顯示編譯錯誤。由於編譯器無法找到返回類型printf
的功能。但是我錯了。輸出是Hello5。我很困惑,這是怎麼回事。
這可能是個愚蠢的問題,但我很困惑。這就是我清除疑慮的原因。昨天,我的採訪中我得到了像什麼是printf的返回類型
char ch="Hello";
printf("%d",printf("%s",ch));
我想printf
一個問題是空型功能,因爲我從來沒有見過printf
功能分配給任何一個變量。所以,我告訴,它會顯示編譯錯誤。由於編譯器無法找到返回類型printf
的功能。但是我錯了。輸出是Hello5。我很困惑,這是怎麼回事。
函數fun()返回一個int,你只是沒有把它分配給任何東西。所以返回值被丟棄,因爲它沒有分配給任何東西。
printf順便說一下,不是void函數,而是返回打印的字符數,在「Hello」的情況下爲5。
,我知道這一點。這就是爲什麼,我提到了我的問題中的輸出。 – Ravi
你可能讀什麼「你需要一個L值接受函數調用的返回」
對於如。在你的代碼中。
你不能做
5 = fun();
因爲5是不是L值。
但是這兩種都很好
int i;
i = fun(); // i is an l-value
或
fun(); // ignore the return value
另外,你需要
char * str = "hello"; // you cannot allocate a string to a single char
而且void main()
是非標準的。
你需要
int main()
'焦炭CH = 「你好」;'也許應該是'字符* CH = 「你好」;' – UmNyobe
downvote是意料之中的,但沒有那麼多,因爲這。只有1條評論和2條答案。什麼關於休息3 ..? – Ravi
@UmNyobe在我的採訪中這已被問到。我自己沒有問過這個問題。\ – Ravi