傳遞串給printf工作不正常 代碼:傳遞字符串給printf,在C
char p[50];
scanf("%s", p);
printf(p, 10);
輸入:value:%d\n
預期輸出:value:10
輸出:value:10\n
也,我在不同的時間得到不同的輸出。相同的a.out的輸出在3個連續執行:
$/a.out的
value: %d\n
value:
$/a.out的
value:%d\n\n
value:10\n\n
$/a.out的
。value:%d\n
value:10\n
在上面,value: %d\n
是由於scanf,而下一行由printf
我不相信你的代碼和例子的輸出。文本「值」出現在輸出中,但不在代碼中。你*鍵入*'價值'? – unwind 2013-02-27 07:34:22
@unwind它出現在輸入中。他將輸入作爲第一個參數傳遞給'printf' – 2013-02-27 07:36:13
它是否像將用戶輸入字符串直接傳遞給'printf'一樣糟糕? – 2013-02-27 07:37:36