字符串以scanf函数输入问题

[复制链接]
查看11 | 回复4 | 2017-9-30 19:22:15 | 显示全部楼层 |阅读模式
字符串以scanf函数输入时,是不是无法输入'空格'符号?
书上说,如果' '在输入的时候被视为字符串之间的分隔符,所以只能把空格之前的字符输入到字符数组当中..这段代码
char a[13];
scanf("%s",a);
如果输入how are you只会把第一个空格前面的how输入到数组a之中
也就是说,如果想输入how are you并且原样输出,只能用多个数组处理?

回复

使用道具 举报

千问 | 2017-9-30 19:22:15 | 显示全部楼层
#include int main (){char ch[13];printf("请输入:");scanf("%[^\n]",&ch);
//表示 不存放 换行键其他键值都可以存入ch中printf("%s\n",ch);}...
回复

使用道具 举报

千问 | 2017-9-30 19:22:15 | 显示全部楼层
分两种情况来说明。1输入字符。charc;scanf("%c",&c);//c定义为字符变量,格式符用%c,前面有&,只能接收一个字符。2输出字符串。charc[81];scanf("%s",c);//c定义为字符数组,格式符用%d,前面没有&,至多接收80个字符。...
回复

使用道具 举报

千问 | 2017-9-30 19:22:15 | 显示全部楼层
直接gets(a);即可。翻翻后面,应当有gets(),puts()的介绍。都在头文件stdio.h里。...
回复

使用道具 举报

千问 | 2017-9-30 19:22:15 | 显示全部楼层
将scanf("%s",a); 改为scanf("%9[0-9a-zA-Z ]s",a);...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行