私が書いたプログラムで何が間違っているか教えてください。 私は、ユーザーが入力した文字列にある数字で新しい文字列を作成しようとしています。例えばCの文字列から数字を抽出する
。:「という文字列を入力します。helloeveryone58985hohohをkgkfgk878788
答え:58985878788
番号が見つからない場合は、その答えはあってはならない。 "という文字列には変化"
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#define MK 20
#define ML 81
void changeStr(char str[],char New[]){
int i,j=0,n;
for(i=0;i<)
}
int main(){
char str[ML],New[ML]={0};
printf("Enter string: \n");
gets(str);
changeStr(str,New);
printf("Changed string:\n");
printf("%s",New);
if(New[0] == '\0'){
printf("No changes in string.\n");
}
return 0;
}
これは何ですか?for(i = 0; i <) '? – alk
プログラムにインデントがありません。 –
文字列の最後に0があるので、ループはその文字列がヒットするまで実行されます。あなたが望む関数は 'isdigit'です – stark