scanf(),gets(),getchar(),getch()几种输入函数的区别

scanf():从键盘读入字符串,以空格,Tab键,回车结束一次赋值,个人觉得的优点是可以一次对多个变量进行赋值,例如:

char a[20];
char b[20];
scanf("%s%s",a,b);

可以一次对a和b赋值。缺点是如果输入有空格,后面的内容会丢失。我们这里的a,b是数组名,代表了数组中首元素的地址,所以前面可以不用加&,如果我们定义的是整型应该像下面这样

int a;
scanf("%d",&a);

或者是数组中的某个元素赋值的时候也一定要加&,像下面这样

char a[20];
scanf("%c",&a[0]);

gets():从键盘读入字符串,以回车结束赋值,优点是可以输入空格,用法如下:

char a[20];
gets(a);

getcher():从键盘读入一个字符,一次只能读一个字符,如果要获取字符串需要配合for循环语句,也可以用在程序输出后,用来停留程序的输出界面,它没有参数,使用方法像下面这样

char ch;
ch = getchar();

getch():从键盘读入一个字符,但是不会回显,一般配合for循环语句用来读取用户设置的密码,可以每获取一次,printf("*");他也没有参数,用法和getchar()一样

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值