c語言怎么用scanf輸入字符串 用scanf函數(shù)輸入字符串hello?
用scanf函數(shù)輸入字符串hello?#包括和限制。H>intmain(){chartr[50]intascanf(%s%d,STR,&A,&A)printf('STR=%sn,STR
用scanf函數(shù)輸入字符串hello?
#包括和限制。H>intmain(){chartr[50]intascanf(%s%d,STR,&A,&A)printf('STR=%sn,STR)printf('a=%dn,a)return0}我為您更改了下面的代碼,刪除了%s%d之間的空格,然后通過兩個賦值添加了一個&A,以消除緩沖區(qū)中回車的干擾后綴“s”是為了使原來的函數(shù)更安全:scanf()在讀取時不檢查邊界,因此可能導(dǎo)致內(nèi)存訪問越界,例如,分配了5字節(jié)的空間,但讀入了10字節(jié),而scanf()在讀取時不檢查邊界。s是visual studio中添加的一個完美函數(shù),它可以防止這種引用不存在的元素。
并且您的代碼是在VS中編譯的,您在VS下找不到函數(shù),因此無法使用它。
為什么在vs2013中用c編程時不能用scanf_s函數(shù)輸入字符串了?
讓我舉個例子,char buff1[128],buff2[128]scanf(%s%s”,buff1,buff2)。但缺點是無法獲得包含空格字符的字符串。因此,如果包含空格字符(如tab),建議使用gets函數(shù)