注册 登录
编程论坛 C语言论坛

我写的这个程序错在哪,为什么每次输出错误结果

Emmaer123 发布于 2019-11-18 21:47, 1524 次点击
输入一个字符串,并输出这个字符串
#include <stdio.h>
int main()
{
    int i=0;char a[100],c;
    while(c=getchar()!='\n')   {a[i++]=c; }
    for(int i=0;a[i]!='\0';i++)     printf("%c",a[i]);
}


2 回复
#2
rjsp2019-11-19 08:38
c=getchar()!='\n
你期望的是 (c=getchar()) != '\n 还是 c = (getchar()!='\n) ?
另外说一下,函数getchar的返回类型是 int,不是 char

for(int i=0;a[i]!='\0';i++)
我没看到你有给某个 a[i] 赋值 '\0' 的语句。
#3
编程中白2019-11-19 08:58
你需要自己给a[i]赋值,在这个{a[i++]=c; }后面加一句a[i]='\0';
1