如何输入一个字符串?

chara;scanf("%s",&a);这是错误的,因为定义的是字符变量。charb[4];inti;for(i=0;i<=3;i++)scanf("%c",&a[i]... char a;scanf("%s",&a); 这是错误的,因为定义的是字符变量。
char b[4];int i;for(i=0;i<=3;i++)scanf("%c",&a[i]);这样编写程序会导致输入的字符不是连续的,那就不是字符串啦。高手帮忙一下,小生感激不尽!
展开
 我来答
帐号已注销
2020-11-12 · TA获得超过77万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:160万
展开全部

scanf可改为scanf("%s",&a);并且不用for语句。

例如:

char a[50];

gets(a);

puts(a);

用scanf/printf输入输出。scanf/printf是C语言的格式化输入输出函数,可以用于输入输出各种基础类型,字符串(char*)也在其支持范围内。格式化字符为%s。

扩展资料:

字符串在存储上类似字符数组,它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。

通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。

参考资料来源:百度百科-字符串

匿名用户
推荐于2018-02-27
展开全部
char a[50];
scanf("%s",a);
或者

char b[20];
gets(b);
都可以的。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-11-13
展开全部
scanf可改为scanf("%s",&a);并且不用for语句。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
檐下汀雨声
高粉答主

2020-11-08 · 醉心答题,欢迎关注
知道小有建树答主
回答量:8.3万
采纳率:11%
帮助的人:6963万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
二慈猿新人4Q
2018-04-20
知道答主
回答量:2
采纳率:0%
帮助的人:1887
引用jbpe320a5abf5的回答:
char a[50];
scanf("%s",a);
或者

char b[20];
gets(b);
都可以的。
展开全部
char a[50];
scanf("%s",&a);
或者

char b[20];
gets(b);
都可以的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式