请教函数返回指针问题
#include<stdio.h>char * scan_blank(char *);
int main(void)
{
char p[]="hello world!";
char *f;
f=scan_blank(p);
puts(p);
*f='\0';
puts(p);
return 0;
}
char * scan_blank(char *ptr)
{
while(*ptr!=' '||*ptr!='\0')
ptr++;
return ptr;
}
----------------解决方案--------------------------------------------------------
scan_blank寻找字符串中的第一个空格,并返回其地址,如果没找到则返回NULL,在这里为什么运行到f=scan_blank(p);程序会出错。
谢谢
----------------解决方案--------------------------------------------------------
以下是引用zz578在2007-4-24 12:37:32的发言:
#include<stdio.h>
char * scan_blank(char *);
int main(void)
{
char p[]="hello world!";
char *f;
f=scan_blank(p);
puts(p);
*f='\0';
puts(p);
return 0;
}
char * scan_blank(char *ptr)
{
while(*ptr!=' '||*ptr!='\0') //你这是死循环,改为&&
ptr++;
return ptr;
}
#include<stdio.h>
char * scan_blank(char *);
int main(void)
{
char p[]="hello world!";
char *f;
f=scan_blank(p);
puts(p);
*f='\0';
puts(p);
return 0;
}
char * scan_blank(char *ptr)
{
while(*ptr!=' '||*ptr!='\0') //你这是死循环,改为&&
ptr++;
return ptr;
}
----------------解决方案--------------------------------------------------------
顶一下八神,虽然我们是死对头
----------------解决方案--------------------------------------------------------
谢谢
----------------解决方案--------------------------------------------------------