数字文字が削除されません。入力したものがそのまま出力されます。
原因は26行目で *(str+i)とj は型が違うからifの条件が真になる? と思ったので (char*)j として試してみましたがダメでした。
なにがいけないのでしょうか、よろしくおねがいします
#include <stdio.h>
void del_digit(char *str);
int main(void){
char str[100];
printf("文字列を入力してください :");
scanf("%s",str);
del_digit(str);
puts("数字文字を除去しました");
printf("%s\n",str);
return 0;
}
void del_digit(char *str){
int i,j;
int k=0;
for(i=0;*(str+i);i++){
for(j=0;j<10;j++){
if(*(str+i)!=j){
*(str+(k++))=*(str+i);
break;
}
}
}
*(str+k)='\0';
return ;
}