问题遇到的现象和发生背景
出现错误:SIGSEGV
问题相关代码,请勿粘贴截图
#include<stdio.h>
int main(){
int i;
char a[10]={0},b[10]={0},c[20];
scanf("%s",c);
char *n=a;
char *m=b;
char *p=c;
for(;*p!='\0';p++){
if(*p='0'||'1'||'2'||'3'||'4'||'5'||'6'||'7'||'8'||'9'){
*n=*p;
n++;
}else{
*m=*p;
m++;
}
}
for(i=0;a[i]!='\0';i++){
printf("%s",a[i]);
}
for(i=0;b[i]!=('\0');i++){
printf("%s",b[i]);
}
return 0;
}
运行结果及报错内容
报错:Program received signal SIGSEGV,Segmentation fault
我的解答思路和尝试过的方法
我想要达到的结果
将c[20]中的数字放到数组a中,将c[20]中的字母放到数组b中