一道国二c语言编程题,救救孩子吧!
函数fun的功能是:将s所指字符串中除了下标为偶数,同时ASCII值也为偶数的字符为其余的全都删除;串中剩余字符所形成的一个新串放在t所指的数组中。下面是我编写的fun函数:
void fun(char *s,char t[])
{
int i,j,length;
length=strlen(s);
for(i=0;i<length;i+=2)
if(s%2==0)
t=s;
t='0';
}
这个是参考答案给的程序:
void fun(char *s, char t[])
{
int i,j=0,n=strlen(s);
for(i=0;i<n;i++)
if(i%2==0&&s%2==0) t=s;
t='\0';
}
我感觉我写的和答案表达的意思都是一样的,可不知道为什么不能够成功运行,在交卷时这一块得分也是0。
希望大家能够帮帮我,能够告诉我哪里出现问题了,谢谢!! 本帖最后由 Aojacy 于 2019-2-13 15:27 编辑
楼下正解 本帖最后由 灰色的天空 于 2019-2-13 15:25 编辑
第一个:你这个‘0’的ascii码是30h,不是字符串的结束标志,应该换成0或者‘\0’.第二个:j要初始化为0. 楼上正解~ void fun(char *s, char t[])
{
//j要初始化为0
int i, j = 0, n = strlen(s);
for(i = 0; i < n ; i ++ )
if (i % 2 == 0 && s % 2 == 0)
t = s;
//这里是'\0'而不是'0'
t='\0';
} 灰色的天空 发表于 2019-2-13 15:24
第一个:你这个‘0’的ascii码是30h,不是字符串的结束标志,应该换成0或者‘\0’.第二个:j要初始化为0.
谢谢热心答疑~~ TCY 发表于 2019-2-13 17:57
嗯嗯,谢谢你~ 哈哈哈的 发表于 2019-2-13 21:20
嗯嗯,谢谢你~
不给我最佳我很生气的
页:
[1]