我有程序要求輸入一個字符串(mystring)和一個字符(ch)。然後它從字符串(mystring)中刪除所有輸入的字符(ch)。例如「abcabc」和char'a',那麼結果應該是「bcbc」。 - 當我使用scanf時,如果字符串沒有空格,程序會很好地工作。如果我輸入「abc abc abc」,它只讀取和處理前3個字母(直到空格)。 然後我被建議使用gets(mystr);因爲它可以讀取所有的混合物。但是,當我使用得到的結果是相同的輸入字符串,並沒有任何反應。C從字符串中刪除字符
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 100
int main(int argc, char *argv[])
{
char mystr[N] ,result[N];
char ch;
int i,k;
k=0;
printf("enter string \n");
//gets(mystr);///////////////////////////
//scanf("%s",&mystr);///////////////////
printf("enter char \n");
scanf("%c",&ch);
scanf("%c",&ch);
for (i = 0; i <= strlen(mystr); i++)
{
if (mystr[i] != ch)
{
result[k]=mystr[i];
k++;
}
}
puts(result);
system("pause");
return 0;
}
**不要**使用'gets()'。這本質上是不安全的。 –