有什么逻辑错误吗?
#include"stdio.h"#include"string.h"
int main(){
int i,len,n=0;
char *p="a3sd56f",*p1=p;
printf("%s\n",p);
len=strlen(p);
for(i=0;i<=len;i++)
if(p[i]>='0'&&p[i]<='9') *p='0';
puts(p1);
return 0;
}
此程序不能运行,为什么?
2015-02-15 11:22
程序代码:#include <stdio.h>
int main(void) {
char str[] = "a3sd56f", *p = str;
printf("%s\n", str);
for(; *p != '\0'; ++p)
if(*p >= '0' && *p <= '9') *p = '0';
puts(str);
return 0;
}

2015-02-15 12:16
2015-02-15 13:47