scanf(%c)和getchar()有什么区别 c语言中scanf 和getchar区别

c\u8bed\u8a00\u4e2d\uff0cscanf\u548cgetchar\u6709\u4ec0\u4e48\u533a\u522b\u554a\uff1f

getchar\u8bfb\u53d6\u4f60\u6309\u4e0b\u56de\u8f66\u524d\u5168\u90e8\u7684\u5b57\u7b26\u6d41\uff0c\u4f46\u662f\u53ea\u8bfb\u53d6\u7b2c\u4e00\u4e2a\uff0c\u56e0\u4e3a\u51fd\u6570\u5f97\u5230\u7684\u662f\u5b57\u7b26
scanf\u53ef\u4ee5\u8bfb\u6574\u6570\u3001\u5b57\u7b26\u3001\u5b57\u7b26\u4e32\uff0c\u6309\u4f60\u5728\u5f15\u53f7\u4e2d\u95f4\u6307\u5b9a\u7684\u683c\u5f0f\u5339\u914d\u8fd9\u4e00\u6d41\uff0c\u628a\u5bf9\u5e94\u503c\u8d4b\u4e88\u5230\u5bf9\u5e94\u5730\u5740\uff0c\u76f4\u5230\u4e0d\u5339\u914d\u8fd4\u56de\uff0c\u6240\u4ee5\u9047\u5230\u6700\u540e\u4e00\u4e2a%c\u800c\u6709\u5269\u4f59\u591a\u4e2a\u5b57\u7b26\u5728\u8f93\u5165\u4e2d\u65f6\uff0c\u4e5f\u662f\u53ea\u53d6\u7b2c\u4e00\u4e2a
\u4f46\u9047\u5230\u8fde\u7eed\u8f93\u5165\u591a\u4e2a\u5b57\u7b26\u7684\u60c5\u51b5\u662f\uff0cscanf\u53ef\u4ee5\u6ee1\u8db3\u4f7f\u7528

\u524d\u4e24\u4e2a\u95ee\u9898\u8f93\u51fa\u7ed3\u679c\u662f\u4e00\u6837\u7684\u3002\u5f53\u7136\uff0cch=getchar()\uff1b\u5e94\u6539\u4e3ach[i]=getchar();\u5e26\u7a7a\u683c\u65f6\uff0c\u8981\u628a\u63a7\u5236\u5faa\u73af\u53d8\u91cf\u6539\u4e3a20\uff1b\u540e\u9762\u7684\u95ee\u9898\u5e94\u8be5\u662fscanf\uff08\u201c%s\u201d\uff0cstr\uff09\uff1b\u4e0egets\uff08str\uff09\uff1b\u7684\u533a\u522b\uff0c\u6b64\u65f6\uff0cscanf\u4e2d\u7a7a\u683c\u3001\u56de\u8f66\u3001\u8df3\u683c\u90fd\u8868\u793a\u7ed3\u675f\uff0c\u800cgets\u4e2d\u4e3a\u4e00\u4e2a\u5b57\u7b26

scanf返回值与getchar不同,scanf返回成功赋值项个数,并将数值赋值到指定参数上,而getchar只读取一个字符并返回其ascii码,是否需要赋值取决于返回值是否赋值给某一变量。

scanf:从标准输入流stdio (标准输入设备,一般是键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。
scanf()函数返回成功赋值的数据项数,读到文件末尾出错时则返回EOF。

getchar:从stdio流中读字符,相当于getc(stdin),它从标准输入里读取下一个字符。返回类型为int型,返回值为用户输入的ASCⅡ码,出错返回-1。
该函数声明在stdio.h头文件中,使用的时候要包含stdio.h头文件

getchar() 没有scanf 那样多元化
scanf 可以接收不同形势的输入,数字,字符,字符串等
还有getchar()还可以接受回车 换行等字符。

一、s=getchar( );不能改成scanf("%c",s),只能改成scanf("%c",&s);
二、它们的功能没有什么区别的。

getchar() 没有scanf 那样多元化
scanf 可以接收不同形势的输入,数字,字符,字符串等等

两条语句同样的结果,只是scanf输入手要按回车,getchar()不用。

  • 鎬庝箞鐢C璇█鐨scanf瀹炵幇涓娆¤緭鍏ヨ嫢骞蹭釜鏁版嵁
    绛旓細鏍规嵁闇瑕佷竴鑸夋嫨濡備笅3绉嶆柟娉曪細1锛屽凡鐭ユ暟閲忥紝涓斾釜鏁拌緝灏戯細scanf("%d%d%d",&a&b&c);2锛屽凡鐭ユ暟閲忥紝浣嗘暟閲忚緝澶氾細for(int i=0;i<n;i++)scanf("%d",&a[i]);3锛屼笉鐭ラ亾鏁伴噺 int i=0;while(scanf("%d",&a[i])){ i++;}
  • C璇█ 缂栫▼
    绛旓細main(){ double r;double pi=3.14159;printf("璇疯緭鍏ュ渾鐨勫崐寰勶細");scanf("%lf",&r);printf("鍦嗙殑鍛ㄩ暱涓猴細%.2lf",2*pi*r);printf("鍦嗙殑闈㈢Н涓猴細%.2lf",pi*r*r);getch();} 2銆乮nclude 鈥渟tdio.h鈥漨ain(){ char c;printf("璇疯緭鍏ヤ竴涓ぇ鍐欏瓧姣嶏細");scanf("%c",&c);printf(...
  • c璇█ 姹傝В涓轰粈涔堟墦瀹2涓插瓧绗 鎸夊洖杞﹂敭绋嬪簭涓嶇粨鏉
    绛旓細杩欐湁涓涓悊瑙g殑闂銆 灏辨槸鍥炶溅閿笉浼氳scanf鏀跺埌銆傚畠鏀跺埌鐨勬槸涓涓┖瀛楃锛岃屼笉鏄洖杞︺ 鎵浠ラ氬父鏄敤涓涓瓧绗︿覆鏉ヨ〃绀虹粨鏉熺殑銆傛瘮濡傝緭鍏モ渆nd"锛屽惊鐜氨缁撴潫銆傚湪WINDOWS浣犲彲浠ョ敤getch杩欎釜鍑芥暟鏉ユ姄鍒板洖杞﹂敭銆傞噸鏂扮紪鍐欎唬鐮佽瘯璇曠湅銆傜椤哄埄銆
  • 绠鍗旵璇█缂栫▼,姹傝В绛
    绛旓細scanf("%lf,%lf,%lf",&a,&b,&c);} s=(a+b+c)/2;S=sqrt(s*(s-a)*(s-b)*(s-c))+0.0005;printf("\n涓夎褰㈢殑闈㈢Н涓猴細%10.3lf",S);getch();} 锛堥檮鍔犻锛6.缂栫▼灏嗙敤鎴疯緭鍏ョ殑鍗佽繘鍒舵暟杞崲鎴愬崄鍏繘鍒舵暟鍜屽叓杩涘埗鏁帮紝骞惰緭鍑猴紝瑕佹眰鐣岄潰鍙嬪ソ銆俰nclude "stdio.h"main(){ int ...
  • scanf getchar 绛夐亣鍒颁竴娆¤緭鍏ュ涓瓧绗︽槸濡備綍杈撳叆?
    绛旓細c:浠ュ瓧绗﹀舰寮忚緭鍏ワ紝鍙緭鍏ヤ竴涓瓧绗 s:杈撳叆瀛楃涓 f:浠ュ皬鏁板舰寮忚緭鍏ュ崟锛屽弻绮惧害鏁 e:浠ユ寚鏁板舰寮忚緭鍏ュ疄鏁 鍦板潃鍒楄〃锛氭槸鐢辫嫢骞蹭釜鍦板潃缁勬垚鐨勮〃鍒楋紝鍙互鏄彉閲忕殑鍦板潃锛屾垨瀛楃涓茬殑棣栧湴鍧 涓句緥锛氱敤scanf鍑芥暟杈撳叆鏁版嵁銆俰nclude<stdio.h> void main(){ int a,b,c;scanf(鈥%d%d%d鈥,&a,&b,&c);printf...
  • C璇█鍐欑▼搴忎换鎰忚緭鍏ヤ竴涓皬鍐欏瓧姣,鍒嗗埆鎸 鍏繘鍒,鍗佽繘鍒,鍗佸叚杩涘埗,瀛楃...
    绛旓細include "stdio.h"void main(){ char a;printf("璇疯緭鍏ヤ竴涓皬鍐欏瓧姣:");scanf("%c",&a);printf("鍏繘鍒惰緭鍑猴細%o\n鍗佽繘鍒惰緭鍑猴細%d\n鍗佸叚杩涘埗杈撳嚭锛%x\n瀛楃鏍煎紡杈撳嚭锛%c\n",a,a,a,a);} 缁撴灉锛
  • 杩欎釜C绋嬪簭???
    绛旓細鐢变簬浣跨敤浜getch();涓や釜绋嬪簭閮藉簲娣诲姞澶存枃浠#include<conio.h> 绗簩涓緭鍏ユ敼涓 scanf("%c",&a[i]);涓や釜绋嬪簭閮借娉ㄦ剰鐨勬槸浣犺緭鍏ョ殑绌烘牸銆佸洖杞︿粈涔堢殑瀹冮兘浼氶粯璁や负鏄竴涓瓧绗
  • 涓轰粈涔getch()鏈夋椂鍊欎細鍑洪敊
    绛旓細褰撶劧浼氬啀鏄剧ず鈥渆rror鎸変换鎰忛敭杩斿洖鈥濈殑鍟 琛ュ厖锛氭敞鎰忕湅锛屾垜涓婇潰鐨勫洖绛斻俶<鍥炶溅>锛屾槸涓や釜瀛楃锛屽洖杞︿篃鏄竴涓瓧绗︼紒getch鑾峰彇浜嗗墠闈㈢殑m锛屽悗闈㈢殑鍥炶溅琚玸canf鑾峰彇鍒颁簡锛佹墍浠ヨ繕浼氭墽琛屽埌default锛佷綘鍙互杩欐牱淇敼锛歩nclude <stdio.h> include <conio.h> main(){ char j;for(;;){ scanf("%c",&j);swit...
  • c璇█缂栫▼闂 涓轰粈涔堝湪scanf(" %c",&ch);涓%c鍔犱釜绌烘牸灏辨纭簡?鍔犵┖...
    绛旓細鎴戠殑鐞嗚В鏄綘鍏堣緭鍏1 2鎸夊洖杞︼紝鐒跺悗灞忓箷鏄剧ずzhifu 锛岀劧鍚庝綘鍦ㄨ緭鍏+銆傚鏋滀綘鏄繖鏍疯緭鍏ョ殑璇%c鍓嶆病鏈夌┖鏍肩殑璇+涓嶄細璇诲叆绋嬪簭璧嬬粰ch锛屽洜涓鸿緭鍏1 2鍚庣殑鍥炶溅绗﹀彿璧嬬粰浜哻h锛岃屾帴鍙楀洖杞︾殑鎰忔濆氨鏄緭鍏ョ粓姝紝鎵浠+骞舵病鏈夎祴缁檆h
  • %c鍓嶉潰鍔犱竴涓┖鏍兼湁浠涔堢敤?
    绛旓細鍥犱负浣犳瘡娆¤緭鍏ユ暟鎹悗閮戒細鎸夊洖杞︼紝杩欐槸缂撳瓨鍖洪噷闈㈠氨鏈夊洖杞﹁繖涓寜閿俊鎭紝濡傛灉娌″姞绌烘牸锛屼竴浜涘湪缂撳瓨鍖虹殑涓滆タ灏变細鑷姩璧嬬粰a锛屽鏋滃姞绌烘牸灏变細娑堥櫎杩欎釜褰卞搷銆scanf璺焔etche()涓鏍凤紝getch()鏃犺繑鍥炴樉绀猴紝getche()鏈夎繑鍥炴樉绀恒
  • 本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网