失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > c语言中同时输入数值型数据和字符型数据要注意的情况

c语言中同时输入数值型数据和字符型数据要注意的情况

时间:2020-04-08 10:50:06

相关推荐

c语言中同时输入数值型数据和字符型数据要注意的情况

当先输入数值型数据,再输入字符型数据时,输入数值型数据时会残留一个' '或'\n',影响后续字符数据的输入。

当先输入一个数值型数据时,会直接把这个数值输出,不再给我们输入字符型数据的机会。

解决方法:

1、调整输入顺序,先字符再数值

2、增加一个空白的字符输入语句

getchar();

scanf("%*c");

3、在%c的前面加个空格

scanf(" %c",&ch);

scanf("%s",str); 不能输入带空格的字符串。

gets(str); 不限制用户输入的字符数量,可能会造成段错误,有安全隐患,标准库已经不建议使用。

fgets(str,sizeof(str),stdin);

优点:用户最多输入size-个字符,不可能产生段错误,安全性高,也能输入带空格的字符串。

缺点:

1、如果用户输入的字符不足size-1个,fgets会边'\n'也读取了

2、如果用户输入的字符超过size-1个,fgets只读取size-1个字符,剩余的字符会残留在输入缓冲中,影响后续数据的输入。

如果觉得《c语言中同时输入数值型数据和字符型数据要注意的情况》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。