是否有可能在scanf()函數的幫助下打印到IO設備?如何在C編程中使用scanf()函數進行打印?
main()
{
char str[30];
scanf("\n Name ?%s",&str);
printf("\n Name Entered is %s",str);
}
試試這個,幫助我。
是否有可能在scanf()函數的幫助下打印到IO設備?如何在C編程中使用scanf()函數進行打印?
main()
{
char str[30];
scanf("\n Name ?%s",&str);
printf("\n Name Entered is %s",str);
}
試試這個,幫助我。
scanf
函數從控制檯讀取輸入並解析它。它無法打印任何東西。這就是恰當命名的printf
功能家族的用途。
scanf
的第一個參數不是提示符(因爲它看起來像你所假設的),它是用於掃描輸入的格式字符串。
,除非您的輸入相匹配究竟要的是什麼,包括文字串"Name ?"
等等scanf
將失敗。它也會停在第一個空白處,所以輸入udhayar kumar
只會得到你的名字。如果你想有一個提示簡單地輸出它作爲事前這樣:
char str[30];
printf ("Name? ");
scanf ("%s", str);
printf ("Name Entered is %s\n", str);
但是請記住,解開%s
格式說明scanf
是一個簡單的方法來使程序崩潰或給別人一個安全漏洞,他們可以通過獲得(請參閱「緩衝區溢出」)。這是因爲沒有邊界檢查輸入。
如果您想要一個體面的輸入功能,請檢查this one。它獲得一整行(帶有可選提示)並很好地處理錯誤情況。
scanf(「\ n Name?%s」,&str); 這實際上有效,嘗試使用它,運行文件後,輸入「Name?udhay」,然後按Enter鍵,現在字符串「udhay」被分配給var str。檢查一下... Thanx for ur respons too。 –
是的,它可以工作(對於'work'的一些定義),但是它限制了你的輸入。你看到的是_no_表示程序正在等待,並且你必須輸入不僅僅是你的名字,還有它的所有不必要的東西 - 這似乎是一個設計得非常糟糕的方式來獲取某人的名字。無論如何,這就是你的問題所要求的_still_不能用'scanf'打印。 – paxdiablo
你想用輸入函數做輸出嗎? – 2012-09-16 08:32:42
是的。我發現它是可能的。 –