c语言 输入一个字符串,一个个读入字符,再输出。

#include<stdio.h>main(){charstring[100];inti;printf("enterastring:");for(i=0;string[i... #include<stdio.h>
main(){
char string[100];
int i;
printf("enter a string:");
for ( i=0;string[i]!='\0';i++);
scanf("%c",&string[i]);

for ( i=0;string[i]!='\0';i++);
printf("%c",string[i]);
}
哪里不对?
展开
 我来答
金色潜鸟
推荐于2017-09-14 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5584万
展开全部
for ( i=0;string[i]!='\0';i++); //分号去掉
for ( i=0;string[i]!='\0';i++); // 分号去掉
'\0' 不好判断。scanf 读不进 '\n' ,遇到 '\n' 要你再输入东西。
改用 getchar() 较好。

#include <stdio.h>
#include<stdlib.h>
main(){ char s[100];
int i;
printf("enter a string:");
i=0;
while(1){
s[i]=getchar();
if (s[i]=='\n')break;
i++;
}
s[i] ='\0';

printf("%s",s);
}
White_MouseYBZ
2013-04-12 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6449万
展开全部
for(i=0;string[i]!='\0';i++);有逻辑错误。string[i]中一个字符都没有放入,你怎么就判断是不是'\0'?这中使用未初始化的变量!并在最后多了个分号。用数字控制吧,改成for(i=0;i<30;i++)。

for ( i=0;string[i]!='\0';i++);后面也多了个分号,去掉。

把char string[100];改成char string[100]="";就好了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qq466108350
2013-04-13 · 超过16用户采纳过TA的回答
知道答主
回答量:35
采纳率:100%
帮助的人:32.2万
展开全部

稍微改动即可:

#include<stdio.h>
main(){
char string[100]={'\0'};
int i;
printf("enter a string:");
for ( i=0;string[i-1]!='\n';i++)
scanf("%c",&string[i]);

for ( i=0;string[i]!='\0';i++)
printf("%c",string[i]);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hekello
2013-04-12 · TA获得超过169个赞
知道答主
回答量:90
采纳率:100%
帮助的人:31.2万
展开全部

大哥哥啊,'\0'是不可输入字符呀,你可以改成别的asscii码,比如'\n',还有啦,看看你for后面的分号,编译运行下小弟给的代码。

 

#include<stdio.h>
int main()
{
char string[100];
int i;
printf("enter a string:");
for ( i=0;scanf("%c",&string[i]),string[i]!='\n';i++);
for ( i=0;string[i]!='\n';i++)
printf("%c",string[i]);
printf("\n");
return 0;
}

合乎要求吧,不过你想把回车也读进去,就用EOF,记得用ctrl+c结束哦

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
80hounongmin
2013-04-12 · 超过27用户采纳过TA的回答
知道答主
回答量:200
采纳率:0%
帮助的人:98万
展开全部
第一个错误:for后面的分号
第二个错误:在为string[i]赋值前,string[i] !='\0'条件恒成立,相当于死循环
可以改成do--while()
do{

scanf("%c",&string[i]);
i++;

}while(i<100&& string[i-1]!='\0');
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式