私はまったく新しいコーディングですが、私がしたいのは、文字列を書き、文字列に書き込まないことを希望します。私はfgets(removedChar, 2, stdin);
の代わりにremovedChar = getchar()
を使ってみましたが、if
の文で!=
を実行することはできません。C、配列の比較、文字の検索
本当にありがとうございます。
int main() {
char str[20], removedChar[2];
int i, n, j;
printf("ENTER A STRING:");
fgets(str, 20, stdin);
printf("ENTER WHAT CHAR YOU WISH TO REMOVE: ");
fgets(removedChar, 2, stdin);
n = strlen(str);
for (i = 0, j = 0; i < n; i++) {
if (strcmp(str, removedChar) == 0) {
str[j] = str[i];
j++;
}
if (str[i] == ' ') {
str[j] = str[i];
j++;
}
}
str[j] = '\0';
printf("string after removing character = %s", str);
system("pause");
return 0;
}
'fgets'が最後にリターンが含まれています。ここでは
は修正版です。 – usr2564301
'#include'、 '#include '、 '#include 'がありません。 –
melpomene
@RadLexusバッファが小さすぎるとは限りません。 – melpomene