关于scanf输入字母的问题和不能输入空格的解决方法

由于scanf("%c",&d)这个语句会把回车和空格也当成字符输入进去,所以这个输时一定要注意格式!!

输入一个数,加回车时间有两种方法去回车:

1.getchar();

scanf("%c",&n);                 //getchar吞掉回车符号

2.scanf(" %c",&n);                //在字符串前加空格,只有检测到非空字符才运行scanf

3.如果输入有空格的字符,不能使用scanf,在这里我们使用gets()函数

char  str[20];   // 定义一个字符数组,大小为20个字节
gets (str);      // 将用户输入的字符串(可以包含空格)存储到字符数组str中,以回车结束输入
printf ( "%s" , str);   // 输出用户输入的字符串(包含空格)

gets函数:

格式:gets(字符数组名);

功能:gets函数用于将输入的字符串内容存放到指定的字符数组中,输入结尾的换行符'\n'被换成'\0'存储在该数组中。


版权声明:本文为weixin_42050660原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。