C语言字符数组用怎么用字符串输入输出,该注意什么

如题所述

使用"%s"模式输出

但是这样做有限制:
char str[255];
用scanf("%s",str);获得输入时,最多容纳254个字符,因为读入操作会在后面加个"\0";
用printf("%s",str); 输出时,数组一定要是用"\0"结束的。
不遵守以上规则会产生数组越界,导致不可知的错误。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-01
#include <stdio.h> // 要include这个头文件
int main() {
char s[100]; // 要定义足够长!
scanf("%s", s); // 注意传入的是s,而不像int、double等传的&a&b的格式。
}追问

这个遇到空格怎么办啊?输出的时候呢?谢谢

追答

scanf("%s", s)这种方式输入,如果你输入的字符串开头有若干空格,都会忽略,一旦有非空格输入了,再碰到空格就是输入结束了。变量s会得到用空格隔开的第一个字符串。

输出的时候注意和其他格式一样
printf("%s", s) // 注意传入的是s

追问

那这种输入方式是不是就不能输入带空格的了?

追答

是的,不能输入空格

本回答被提问者和网友采纳
第2个回答  2013-12-09
如#include“stdio.h”
main()
{
int a【5】;
printf("请输入5个数:");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
printf("%d",a[i]);
}都是在英文半角情况下输入
第3个回答  2013-12-09
#include <stdio.h>
int main()
{
char s[100]; // 要定义足够长的数组,以放下输入的字符串,输入的字符串如果超出长度会出错!
scanf("%s", s); // 注意传入的是s,而不像int、double等传的&a&b的格式。
//gets(s);也可以用gets输入
}追问

用SCANF怎么输入

追答

scanf("%s", s)

追问

那个有空格呢??用scanf就会停止了,,怎么办啊

追答

那就用gets,遇到回车停止

第4个回答  2013-12-09
char类型的输入getchar
输出putchar
注意字符类型,别用错了

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网