scanf能不能与gets一起用,请说明原因,详细点哈。 我试过,好像不能 scanf和gets有什么区别,为什么scanf和gets在...

\u6c42\u52a9\uff1a\u5982\u4f55\u7528gets\u548cscanf\u540c\u65f6\u5904\u7406\u4e00\u4e2a\u5b57\u7b26\u4e32

scanf\u8f93\u5165\u5b57\u7b26\u4e32\u5f53\u5b57\u7b26\u4e32\u4e2d\u542b\u6709\u7a7a\u683c\u7684\u65f6\u5019\uff0c\u7a7a\u683c\u540e\u9762\u7684\u90e8\u5206\u5c06\u4e0d\u4f1a\u88ab\u8bfb\u5165\uff1b\u800c\u7528gets\u5219\u53ef\u4ee5\uff1b\u6bd4\u5982\u4e00\u5b9a\u4e49\u53d8\u91cfname:
1\u3001scanf("%s",name);
2\u3001gets(name);
\u5f53\u4f60\u4ece\u952e\u76d8\u8f93\u5165:string question \u65f6,\u4e24\u8005\u7684s\u53d8\u91cf\u7684\u503c\u5206\u522b\u4e3a\uff1a1\u3001string;2\u3001string question;
\u5bf9\u4e8e\u8fd9\u4e9b\u7b80\u5355\u95ee\u9898\u8bfe\u672c\u4e00\u822c\u90fd\u4f1a\u6709\u8bf4\u660e\uff0c\u8981\u591a\u770b\u770b\u8bfe\u672c\uff1b

scanf\u53ef\u4ee5\u8f93\u5165\u6240\u6709\u7c7b\u578b\u7684\u6570\u636e\uff0c\u800cgets\u53ea\u80fd\u8f93\u5165\u5b57\u7b26\u4e32\uff1b\u5f53scanf\u5728\u524d\u9762\u7684\u65f6\u5019\u8f93\u5165\u6570\u636e\u548c\u540e\u9762\u7684\u5b57\u7b26\u4e32\u4e2d\u95f4\u4f1a\u7528\u7a7a\u683c\u5206\u5f00\uff0c\u8fd9\u65f6gets\u5c31\u65e0\u6cd5\u533a\u5206\u8fd9\u4e2a\u7a7a\u683c\u662f\u5426\u5c5e\u4e8egets\u7684\u8f93\u5165\u3002\u4f60\u5728scanf\u540e\u9762\u52a0\u4e00\u4e2agetchar\uff08\uff09\uff1b\u4f1a\u89e3\u51b3\u95ee\u9898\u7684\u3002

gets函数可以一次接收一行输入串,其中可以有空格,也就是说空格可以做为字符串的一部分输入.
而scanf函数接收的字符串不会含有空格,即遇到字空格时,认为字符串输入结束,也就是说空格是scanf默认的结束符号。

scanf和gets不能混合使用,如果一个程序中用scanf的话,一般不能再用gets,反之亦然。 1:...
2:gets()输入字符串时,可以包含空格在内的字符,在回车时,自动将字符串结束标志'\0'赋予字符数组最后一个元素。scanf函数不能输入包含空格字符的字符串,也就是说空格是scanf默认的结束符号。
3:如果像你在你的程序中提到的只把for循环中gets改为scanf的话,在后面该输入的时候直接跳过的原因是,在结束前一个scanf输入时输入的回车被后一个gets输入时接受,也就是说前一个地方输入的“数据+回车”分别被两个地方接受。此种问题会出现在gets和scanf交接处。只需要在程序中统一改为scanf和gets就可以了。

scanf 读到空字符后停止,比如 空格 换行 Tab 而gets只读到换行后才停止

应该可以。我们老师昨天用的时候,就是前面用的gets,后面写的scanf。一前一后,不影响的

  • c璇█gets()鐨勭敤娉曟槸浠涔?
    绛旓細include char *gets(char *str);gets()鍑芥暟鐨勬牳蹇冧綔鐢ㄦ槸鎺ユ敹鐢ㄦ埛杈撳叆鐨勫瓧绗︿覆锛屽苟灏嗗叾瀛樺偍鍦ㄦ寚瀹氱殑瀛楃鎸囬拡鍙橀噺str鎵鎸囧悜鐨勫唴瀛樼┖闂翠腑銆傚畠鍙渶瑕佷竴涓猚har*绫诲瀷鐨勫弬鏁帮紝鏃犺鏄寚閽堝彉閲忚繕鏄瓧绗︽暟缁勫悕閮借兘鑳滀换銆備笅闈㈤氳繃淇敼涓涓娇鐢scanf鐨勭ず渚嬫潵灞曠ずgets()鐨勭敤娉曪細include int main(void){ char str[...
  • C璇█gets 鍜 scanf
    绛旓細鎴戝繊涓嶄綇璇翠竴涓嬶紝甯屾湜宸茬粡缁欏嚭绛旀鐨勫悓瀛︿滑涓嶈浠嬫剰銆scanf("%s%f",name[i],&score);濡傛灉浣犺緭鍏 鈥渁bc 1234鈥濓紙娉ㄦ剰 寮曞彿涓嶆槸杈撳叆鐨勬暟鎹紝鍙槸涓轰簡鏂逛究闃呰锛夎繖涓椂鍊 name[i]浼氳鍙栨暟鎹殑锛屼絾鏄鍙栫殑鏁版嵁閬囧埌绌烘牸灏辫涓鸿鍙栫粨鏉熴傝繖鏍峰墿浣欎笅鐨勬暟鎹氨鏄 涓涓┖鏍煎鍔1234.褰搒core寮濮嬭鍙栫殑鏃跺...
  • C璇█gets涓巗canf璧嬪肩粰鏈夊垵濮嬪肩殑瀛楃鏁扮粍闂
    绛旓細1銆scanf浣犵敤鐨勬牸寮忎负"%c"锛屾墍浠ュ彧浼氳鍏ュ崟涓殑瀛楃锛屼笉绠℃槸鏅氬瓧绗﹁繕鏄┖鏍煎洖杞ab閮戒細鐩存帴杈撳叆缁欏搴旂殑char鍙橀噺銆傚鏋滅敤鐨勬牸寮忎负"%s"锛岄偅涔堜細蹇界暐绌烘牸銆佸洖杞︺乼ab 銆2銆gets涓浼氭竻绌猴紝浣唃ets浼氬拷鐣ヨ緭鍏ョ粨灏剧殑閭d釜鍥炶溅锛岀劧鍚庡姞涓'\0'鏉ョ‘淇濆瓧绗︿覆姝g‘缁撴潫锛屾墍浠ョ涓涓垪瀛愪腑锛屽墠10涓瓧绗﹁緭鍏ョ粰a锛...
  • gets鍑芥暟鏈夊嵄闄,閭d箞璇彞gets(s);鎬庝箞鐢scanf鍑芥暟鏀瑰啓鍛?
    绛旓細scanf()鍑芥暟鍜実ets()鍑芥暟閮藉彲鐢ㄤ簬杈撳叆瀛楃涓诧紝浣嗗湪鍔熻兘涓婃湁鍖哄埆銆傝嫢鎯充粠閿洏涓婅緭鍏ュ瓧绗︿覆"hi hello"锛屽垯搴旇浣跨敤__gets__鍑芥暟銆gets鍙互鎺ユ敹绌烘牸锛涜宻canf閬囧埌绌烘牸銆佸洖杞﹀拰 Tab閿 閮戒細璁や负杈撳叆缁撴潫锛屾墍鏈夊畠涓嶈兘鎺ユ敹绌烘牸銆俢har string[15];gets(string);/*閬囧埌鍥炶溅璁や负杈撳叆缁撴潫*/ scanf("%s",string)...
  • c璇█scanf gets闂
    绛旓細scanf鐨%s鏍煎紡鎺ユ敹瀛楃涓叉椂锛屼互绌烘牸鎴栧洖杞︿綔涓虹粓姝㈢銆傝gets鍙互鍥炶溅浣滀负缁堟绗︺備綘杩欓噷s1==aaa s2==bbb s3=ccc ddd鎵浠ヨ緭鍑轰細杩欐牱 puts杈撳畬鏈鍚庤緭鍑'\n'锛屽氨鏄崲琛
  • vc 鍏充簬gets()鍜宻canf
    绛旓細娌℃湁閿欏晩 浣犺瘯璇曟垜杩欎釜绠鍗曠殑绋嬪簭 鏍规嵁浣犻偅鍐欑殑 include <iostream.h> include <stdio.h> int main(){ cout<<"璇疯緭鍏ュ鍚嶏紒"<<endl;char name[10];//鐢scanf锛堚%s",name)鍙互杈撳叆锛屼絾鏄 gets(name);cout<<name<<endl;return 0;} 娉ㄦ剰锛氳緭鍏ョ殑涓嶈澶暱锛
  • c璇█scanf鍑芥暟鍜実ets()闂,濡傚浘
    绛旓細棣栧厛锛岃璇scanf鍑芥暟鍜実ets()鐨勫尯鍒1銆乻canf鍑芥暟閬囧埌绌烘牸鏃跺垯杈撳叆缁撴潫銆備篃灏辨槸璇翠綘杈撳叆鐨凥ow are you?锛屽叾涓涓涓崟璇嶇粰浜哹[20]锛屽墿涓嬬殑鍏ㄩ儴缁欎簡c[20]銆 2銆乬ets鍑芥暟鐨勪綔鐢ㄦ槸浠庣粓绔緭鍏ヤ竴涓瓧绗︿覆鍒板瓧绗︽暟缁勩
  • C璇█涓叧浜gets涓巗canf鐨勯棶棰(鏈変緥)
    绛旓細鐢 while(getchar()!='\n');灏辨槸璁ゞetchar鍚炴帀scanf缂撳瓨涓殑瀛楃锛岀洿鍒拌緭鍏ヤ竴涓洖杞︾涓烘銆備綘瑕佺煡閬搒canf鐨勮繍琛屾満鍒讹紝scanf鎵弿鐨勬椂鍊欙紝鍏堟妸瀛楃鏀惧湪缂撳啿鍖猴紝绛夊緟鐢ㄦ埛鎸夊洖杞﹀悗灏嗙紦瀛樼殑鍐呭浼犻佸埌绋嬪簭锛屽鏋滀綘鏄 %d 鑰屼綘鍗磋緭鍏ヤ簡涓涓瓧姣嶏紝 杩欎釜鏃跺 scanf涓浼氳烦杩囧瓧绗︼紝浼氬弽澶嶆妸浣犺緭鍏ョ殑瀛楃浼犵粰%d...
  • c璇█涓疄鐜gets鐨勫姛鑳,浣涓鐢╣ets杩欐潯璇彞
    绛旓細鍙互鐢scanf()瀹炵幇銆傚叿浣撳涓嬶細scanf()鎵鍦ㄥご鏂囦欢锛歴tdio.h 璇硶锛歴canf("鏍煎紡鎺у埗瀛楃涓",鍙橀噺鍦板潃鍒楄〃);鎺ュ彈瀛楃涓叉椂锛歴canf("%s",瀛楃鏁扮粍鍚嶆垨鎸囬拡);
  • C璇█鍏充簬scanf("%d",&n);鍜宻canf("%d\n",&n);涓巊ets涔嬮棿鐨勯棶棰樸傘
    绛旓細閿洏杈撳叆鐨勪笢瑗挎槸瀛樺湪缂撳啿鍖洪噷鐨勶紝浣犳寜涓涓嬪洖杞scanf,gets鎵嶄細鍘荤紦鍐插尯閲岃鍙栨暟鎹 涓婇潰閭f牱鐨剆canf纰板埌涓嶆槸鏁板瓧鐨勫氨绠楃粨鏉熻鍙栦簡锛岀劧鍚庡墿涓嬬殑娌℃湁琚玸canf璇诲彇鐨勪笢瑗垮氨鐣欏湪缂撳啿鍖洪噷琚箣鍚庣殑gets璇绘帀
  • 扩展阅读:static int ... vs中scanf s的解决方法 ... scanf gets getchar ... 5个例子搞懂scanf ... vs2022不能用scanf ... vs为什么不能用scanf ... 如何解决vs用不了scanf ... scanf会录入空格吗 ... vs的scanf不安全 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网