全部问题 > 当前问题

这个哪里错了?

void fun(char *str)

{

int i=0,j;

char st[81];

j=str; 

while(*str++)

{

if (*str!=32)

st[i++]=*str;

st[i]=0;

str=j,i=0;

while(st[i])

{

*str++==st[i++]; 

*str=0;



}


杨龙旭 2017-2-17 23:26:11

共 2 个回答

qqq 2017-2-18 23:30:01

老实说,我看不懂你的代码。。

j=str;把指针变量赋值给整型变量。。这是啥意思?

str=j,i=0;

while(st[i])

{

*str++==st[i++]; 

}

这个循环我更是一脸懵逼啊。。都是些啥啊。。

建议你看看正确答案,你的思路太复杂了。。

void fun (char *str)
{
int i=0;
char *p=str;
while(*p)
{
if(*p!=' ') /*删除空格*/
{
str[i]=*p;
i++;
}
p++;
}
str[i]='\0'; /*加上结束符*/
}


杨龙旭 2017-2-20 16:08:57

回复 qqq:谢谢了  这道题做过了 我的思路是新建一个数组然后将这个数组赋值给新的数组如果碰到空格就隔过去然后再赋值给原数组

问题来自: 编程题真题