str[i-count]=str[i];
}
i++;
}
str[i-count]='\0';
この関数では英文字で数字の列を置き換え、邪魔なものを最後にナル文字で消すという方法をとっていますが、これが特定の文字を消す定石なのでしょうか?
他の方法を知っているかた、また考え付く方は教えてください。
#include <stdio.h> void del_digit(char str[]) { unsigned i=0,count=0; while(str[i]){ if(str[i]>='0'&&str[i]<='9'){ count++; } else{ str[i-count]=str[i]; } i++; } str[i-count]='\0'; } int main(void) { char str[128]; printf("type words:" ); scanf("%s",str ); del_digit(str); printf("the content you deleted:%s\n",str ); return 0; }
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/09/02 04:21
2015/09/02 04:33 編集
2015/09/02 08:04
2015/09/02 11:06 編集