有什么逻辑错误吗?
#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;
}
此程序不能运行,为什么?
#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; }