全部问题 > 当前问题

输出怎么不正常

void fun(char *str)

{

int j=0,i,n=0;

char t[1000];

while(*str)

{

n++;

}

for(i=0;i<n;i++)

{

if(!(*(str+i)==' '))

t[j++]=*(str+i);

}

for(i=0;i<j;i++)

{

*(str+i)=t[i];

}

*(str+i)=0;

}


黄建聪 2016-1-12 13:33:23

共 1 个回答

最佳答案

嘿嘿大人 2016-1-12 14:11:14

while循环没有跳出循环的条件

void fun(char *str)

{

int j=0,i,n=0;


char t[1000];


while(*(str+n))


{


n++;


}


for(i=0;i<n;i++)


{


if(!(*(str+i)==' '))


t[j++]=*(str+i);


}


for(i=0;i<j;i++)


{


*(str+i)=t[i];


}


*(str+i)=0;





}


问题来自: 编程题真题