C语言,如何向一个字符数组输入字符,并打印?

2024-11-21 21:02:23
推荐回答(4个)
回答1:

int c,i; //c应该改为 char c
while((c=getchar())!=EOF) //c是字符变量,EOF是字符串,不能把字符串赋给字符变量

也可以用scanf();输入。不过要求输入的时候字母间不能加空格。
例:scanf("%s",s); //s是数组名,s前不必加&,因为数组名就是该数组的首地址。

最好的字符串输入输出形式还是
gets(数组名); //输入
puts(数组名); //输出
不过一般用gets();前都要加上
fflush(stdin);清理键盘缓冲,因为可能程序中有残留的回车等。

回答2:

修改如下://注释修改,输入字符串再输入回车符,注意不能超过9个字符
#include
int main()
{
int c,i=0; //
char s[10]={0};//
while((c=getchar())!='\n') //EOF
{
//for(i=0;i<10;i++)
s[i]=c;
i++;//
}
printf("%s",s);
}

最好用gets输入字符串,puts输出字符串:
#include
int main()
{

char s[10]={0};
gets(s);
puts(s);
}
或者scanf
#include
int main()
{

char s[10]={0};
scanf("%s",s);
printf("%s",s);

}

回答3:

你可以这样啊

#include
main()
{
    int c,i;
    char s[10];
    scanf("%s",s);
    printf("%s",s);
}

你定义的是10个字符,假如你输入多了只会输出前10个

回答4:

#include
void main()
{
char s[10];
gets(s);
puts(s);
}