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

2024-12-16 15:33:12
推荐回答(5个)
回答1:

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

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

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

回答2:

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

回答3:

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

回答4:

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

回答5:

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