C语言求解 void fun(char *s,char t[ ]) {int i,j=0; for

C语言求解voidfun(char*s,chart[]){inti,j=0;for(i=0;i<100;i++)if(i%2!=0)t[j++]=s[i];}s和t在主函... C语言求解 void fun(char *s,char t[ ]) {int i,j=0; for(i=0;i<100;i++) if(i%2!=0) t[j++]=s[i]; } s和t在主函数中都定义为100个存储单元,为什么上面的不对,一定要求得字符串的长度吗? 展开
 我来答
leiwuyuan
推荐于2016-02-19 · TA获得超过207个赞
知道答主
回答量:85
采纳率:0%
帮助的人:89.2万
展开全部
没有错呀,我帮你的程序整理,并且写了一个调用它的案例,你先看看吧,有疑问再问:

#include<stdio.h>

/**此函数的意思是:将s的下标为奇数的成员复制到t中**/
/**注意,下标是从0开始计算,s[0],s[1],s[2]...s[100],下面的i也是从0开始计算*/
void fun(char *s,char t[ ])
{
int i,j=0;
for(i=0;i<100;i++)
{
if(i%2!=0)
t[j++]=s[i];
}
}

int main()
{
char s[100] = "0123456";
char t[100] = "";

fun(s, t);
printf("s = %s\nt = %s\n", s, t);
return 0;
}
更多追问追答
追问
谢谢你!可是我在运行后出现很多 烫 不太清楚哎
我是说在源程序中
爱做饭的老谢
2014-03-07
知道答主
回答量:60
采纳率:0%
帮助的人:15.3万
展开全部
你S定义的100 T也是定义的100 在fun函数里你循环100次儿你的s字符数组只有7个字符后面的都是无效字符,你的拇指是要复制S字符数组里奇数为的字符到T字符数组,从第7个字符后面根本就没有字符了当然会出现你说说的烫字啊

这样做
wile(*s)
{
f(i%2!=0) t[j++]=s[i];
s++;

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式