scanf输入字符串会不会读取回车?

不会。

scanf()是C语言中的一个输入函数。形式:int scanf(const char * restrict format,...);

format指向的字符串包含的格式指令中的s读入一个的字符序列,后面会加上空字节,遇到空白字符(
空格等)完成读取。

scanf输入字符串的时候不会接收Space空格,回车Enter,Tab键,则认为输入结束。scanf函数直接从输入缓冲区中取数据,而并非从键盘(也就是终端)缓冲区读取。而读取时遇到回车(
)而结束的,这个
会一起读入输入流缓冲区的,所以第一次接受输入时取走字符后会留下字符

扩展资料:

注意问题

(1)在高版本的 Visual Studio 编译器中,scanf 被认为是不安全的,被弃用,应当使用scanf_s代替 scanf。

(2) 对于字符串数组或字符串指针变量,由于数组名可以转换为数组和指针变量名本身就是地址,因此使用scanf()函数时,不需要在它们前面加上"&"操作符。

(3) 可以在格式化字符串中的"%"各格式化规定符之间加入一个整数,表示任何读操作中的最大位数。

(4) scanf函数中没有类似printf的精度控制。

如: scanf("%5.2f",&a); 是非法的。不能企图用此语句输入小数为2位的实数。

(5) scanf中要求给出变量地址,如给出变量名则会出错

如 scanf("%d",a);是非法的,应改为scanf("%d",&a);才是合法的。

(6) 在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔,则可用空格,TAB或回车作间隔。

C编译在碰到空格,TAB,回车或非法数据(如对“%d”输入“12A”时,A即为非法数据)时即认为该数据结束。

(7) 在输入字符数据(%c)时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。

参考资料:

百度百科-scanf



  • 杩欓噷鐨刧ets(p)涓轰粈涔堣兘璇诲彇鍒scanf(&c)閭d竴琛杈撳叆鐨瀛楃鍛?
    绛旓細puts(p); // 杈撳嚭璇诲彇鍒扮殑瀛楃涓 free(p); // 閲婃斁鍒嗛厤鐨勫唴瀛 return 0;} 鐜板湪锛屽叧浜巊ets(p)锛堣櫧鐒舵垜宸茬粡鐢╢gets鏇夸唬浜嗭紝鍥犱负gets鏄笉瀹夊叏鐨勶級锛屽畠涓轰粈涔堣兘璇诲彇鍒scanf("%c", &c);閭d竴琛岃緭鍏ョ殑瀛楃锛熺瓟妗堟槸锛宻canf鍑芥暟鍦璇诲彇杈撳叆鏃讹紝閫氬父浼氱暀涓嬭緭鍏ョ紦鍐插尯涓殑鍓╀綑閮ㄥ垎銆傚綋浣犱娇鐢╯canf("%d"...
  • C++鐢scanf璇诲叆瀛楃涓
    绛旓細include<stdio.h> void main(){ char s1[10],s2[10],s3[10];scanf("%s%s%s",s1,s2,s3);printf("%s %s %s\n",s1,s2,s3);}
  • c璇█杈撳叆涓涓瀛楃鑷姩璇诲彇
    绛旓細杩介棶锛氭垜鐜板湪鐭ラ亾浜嗕负浠涔堟槸杩欐牱锛屼絾鎴戝笇鏈涜兘澶璇诲彇绌烘牸锛岃鐢ㄥ摢涓嚱鏁帮紵鍥炵瓟锛歡etchar()瀛﹁繃娌★紵娌″杩囷紝鑷繁鐪 杩介棶锛氬杩囩殑锛屼絾閭f槸杈撳叆鍗曚釜瀛楃鍢 鍥炵瓟锛氳楂樻竻妤 绌烘牸 鏄瓧绗︼紝 浣犱笉鐢ㄨ繖涓庝箞璇诲叆鍛紵浣犲彲浠ユ煡涓scanf鍑芥暟鍜実etchar鍑芥暟 閭e氨鐢╣ets锛堬級鍑芥暟 鏄璇诲叆瀛楃涓鐨 涓嶈繃鎴戣寰椾綘...
  • C璇█涓殑Scanf鐨勭敤娉
    绛旓細scanf 鍑芥暟鏈涓昏鐨勭敤娉曟槸锛歴canf("杈撳叆鎺у埗绗", 杈撳叆鍙傛暟);鍑芥暟鍘熷瀷锛歩nt scanf(const char * restrict format,...);鍑芥暟 scanf() 鏄粠鏍囧噯杈撳叆娴乻tdin (鏍囧噯杈撳叆璁惧锛屼竴鑸寚鍚戦敭鐩)涓鍐呭鐨勯氱敤瀛愮▼搴忥紝鍙互璇存槑鐨勬牸寮璇诲叆澶氫釜瀛楃锛屽苟淇濆瓨鍦ㄥ搴斿湴鍧鐨勫彉閲忎腑銆
  • C璇█涓scanf濡傛灉鍍忎竴涓%d鐨勬暣鍨嬪彉閲忚祴鍊间竴涓瓧绗︽垨瀛楃涓鏈変粈涔...
    绛旓細int n;n = scanf("%d",&x);if (n==1) printf("鎴愬姛璇诲叆涓涓暣鍨嬫暟 ");else printf("鎴戝け璐ヤ簡锛屾病璇诲埌鏁");濡傛灉杈撳叆涓涓瀛楃涓浠涔堢殑锛屽瓨鐨勬暟鎹槸 %d 鍨 -- 鍥犱负杩欐槸浣犺瀹氱殑 鏈夋牸寮 璇荤殑 鏍煎紡銆備綘杩樿鐢 鍑芥暟鐨勮繑鍥炲煎垽鏂紝璇绘垚鍔熶簡娌℃湁锛岃鎴愬姛鎵嶆敹鍒 鏁村瀷锛屾病璇绘垚鍔 鍒 x閲 ...
  • c璇█涓 閭d釜鏍煎紡鎺у埗瀛楃涓 鍙互杈撳叆鏁板瓧鍜屽瓧绗
    绛旓細scanf()锛氶氳繃鏍煎紡鎺у埗绗%s杈撳叆瀛楃涓銆傞櫎浜嗗瓧绗︿覆锛宻canf()杩樿兘杈撳叆鍏朵粬绫诲瀷鐨勬暟鎹俿canf()璇诲彇瀛楃涓叉椂浠ョ┖鏍间负鍒嗛殧锛岄亣鍒扮┖鏍煎氨璁や负褰撳墠瀛楃涓茬粨鏉熶簡锛屾墍浠ユ棤娉曡鍙栧惈鏈夌┖鏍肩殑瀛楃涓层俫ets()锛氱洿鎺ヨ緭鍏ュ瓧绗︿覆锛屽苟涓斿彧鑳借緭鍏ュ瓧绗︿覆銆俫ets()璁や负绌烘牸涔熸槸瀛楃涓茬殑涓閮ㄥ垎锛屽彧鏈夐亣鍒板洖杞﹂敭鏃舵墠璁や负瀛楃涓茶緭鍏...
  • scanf鍑芥暟璇诲彇瀛楃涓鐨勪竴涓棶棰
    绛旓細瑕佹兂杈撳叆yes char array[4];//瀹氫箟涓涓暱搴︿负4鐨瀛楃涓 scanf("%s",array);//%s杈撳嚭瀛楃涓叉帶鍒剁銆俛rray鏈潵灏辨槸涓涓湴鍧 灏辫浜嗐俢har yon;scanf("%c",&yon);if(yon==89||yon==121)搴旇鎬庢牱鏀癸紝浣胯緭鍏es鏃朵篃浣縤f涓虹湡 銆愯繖娈电▼搴忓彧鑳借緭鍏ヤ竴涓瓧绗︼紝涓嶈兘杈撳叆yes杩欎釜瀛楃涓插晩锛寉es瑕...
  • 鍏充簬鐢scanf杈撳叆 瀛楃涓
    绛旓細s涓&s閮借〃绀哄湴鍧锛屼笖鍊肩浉绛夈俿涓&s绫诲瀷涓嶄竴鏍凤紝s鐨勭被鍨嬩负char *锛&s鐨勭被鍨嬩负char (*)[10]锛屽嵆鎸囧悜涓琛屾湁10涓瀛楃鐨勬寚閽堛傚湪scanf("%s",&s);璇彞涓紝&s鏈変竴涓殣鍚殑寮哄埗绫诲瀷杞崲锛屽嵆鐩稿綋浜巗canf("%s",(char *)&s);
  • 鍏充簬scanf鐨勯棶棰 鐢╯canf("%s",s)璇诲叆瀛楃涓鏃朵細鎶奬n浣滀负瀛楃涓插唴瀹瑰悧...
    绛旓細涓嶄細銆scanf("%s",s) 鎶奬n浣滀负绌虹櫧锛屽綋鍒嗛殧绗﹀鐞嗭紝涓嶄綔涓瀛楃涓鍐呭銆俫ets() 璇诲叆涓琛岋紝涔熶笉鎶奬n 涓嶄綔涓 瀛楃涓插唴瀹广俧gets ( s, len, stdin); 浠庢爣鍑杈撳叆stdin璇诲叆涓琛岋紝鎶奬n 浣滀负 瀛楃涓插唴瀹癸紒
  • c璇█涓,scanf鍑芥暟鍜実etchar鍑芥暟鐨勫尯鍒槸浠涔?姹傝В!!!
    绛旓細scanf杈撳叆瀛楃涓,鏁村瀷,瀹炲瀷绛夋暟鎹垽鏂殑鏂瑰紡閮戒竴鏍,鍥炶溅,绌烘牸,tab閿兘璁や负鏄竴涓暟鎹殑缁撴潫,褰撶劧瀛楃鐨勮瘽,涓涓瓧绗﹀氨鏄粨鏉熶簡,鍥炶溅,绌烘牸绛夐兘鏈夊搴旂殑ascii鐮,鎵浠ョ敤scanf杈撳叆瀛楃鏃惰灏忓績杩欎簺涓滀笢琚綋鎴愬瓧绗﹁緭杩涘幓,鑰岃緭鍏ュ瓧绗︿覆鍜屾暣鍨,瀹炲瀷绛夋暟鎹椂杩欎簺閮借褰撴垚鍒嗛殧绗﹁屼笉浼氳杈撳叆鍒板瓧绗︽暟缁勬垨鍙橀噺閲...
  • 扩展阅读:c语言scanf输入两个字符 ... 用scanf输入指针 需要&吗 ... scanf输入字符串 空格 ... scanf怎么输入单个字符 ... c语言scanf用法举例 ... 有两个scanf怎么输入 ... scanf输入字母和数字 ... c语言scanf输入两个值 ... scanf同时输入字符和数字 ...

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