标题:关于C语言的一道题,不知错误,请指点
只看楼主
playboy7741
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-8-19
 问题点数:0 回复次数:5 
关于C语言的一道题,不知错误,请指点
#include <stdio.h>
#include <string.h>
int main (void)
{
char a[20],b[20];
int i;
gets(a);

for(i=0;*(a+i)!='\0';i++)
*(b+i)=*(a+i);
printf("string a is: %s\n",a);
printf("string a is: ");
puts(b);
printf("\n");
return 0;
}
不知道错哪?请大虾指点!

搜索更多相关主题的帖子: C语言 
2007-08-26 23:34
奔跑的鸟
Rank: 1
等 级:新手上路
帖 子:391
专家分:0
注 册:2006-1-20
得分:0 
汗,非要这么写么?我也不知道错哪里啊..为什么不换个简单容易又肯定对的方式呢?

简单的快乐着~
2007-08-26 23:54
雨中飞燕
Rank: 3Rank: 3
等 级:禁止访问
威 望:8
帖 子:2200
专家分:0
注 册:2007-8-9
得分:0 
for(i=0;*(a+i)!='\0';i++)
*(b+i)=*(a+i);
改成:
for(i=0; ;i++)
{
*(b+i)=*(a+i);
if(*(a+i)=='\0')break;
}
2007-08-27 00:10
wmq
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-8-27
得分:0 

b数组中未加字符串结束符'\0',应改为:
#include <stdio.h>
#include <string.h>
int main (void)
{
char a[20],b[20];
int i;
gets(a);

for(i=0;*(a+i)!='\0';i++)
*(b+i)=*(a+i);
*(b+i)='\0';
printf("string a is: %s\n",a);
printf("string a is: ");
puts(b);
printf("\n");
return 0;
}


不爱美人爱tc
2007-08-27 08:28
wmq
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-8-27
得分:0 

b数组中未加字符串结束符'\0',应改为:
#include <stdio.h>
#include <string.h>
int main (void)
{
char a[20],b[20];
int i;
gets(a);

for(i=0;*(a+i)!='\0';i++)
*(b+i)=*(a+i);
*(b+i)='\0';
printf("string a is: %s\n",a);
printf("string a is: ");
puts(b);
printf("\n");
return 0;
}


不爱美人爱tc
2007-08-27 08:28
努力学编程
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2007-8-25
得分:0 
楼上正解!
2007-08-27 10:23



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




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

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