标题:我写的这个程序错在哪,为什么每次输出错误结果
只看楼主
Emmaer123
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2019-9-20
结帖率:66.67%
 问题点数:0 回复次数:2 
我写的这个程序错在哪,为什么每次输出错误结果
输入一个字符串,并输出这个字符串
#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]);
}


搜索更多相关主题的帖子: 字符串 出错 结果 i++ int 
2019-11-18 21:47
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
c=getchar()!='\n
你期望的是 (c=getchar()) != '\n 还是 c = (getchar()!='\n) ?
另外说一下,函数getchar的返回类型是 int,不是 char

for(int i=0;a[i]!='\0';i++)
我没看到你有给某个 a[i] 赋值 '\0' 的语句。
2019-11-19 08:38
编程中白
Rank: 1
等 级:新手上路
威 望:1
帖 子:2
专家分:0
注 册:2019-11-19
得分:0 
你需要自己给a[i]赋值,在这个{a[i++]=c; }后面加一句a[i]='\0';
2019-11-19 08:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-497915-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.209870 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved