Bir kullanıcının bir sözcük veya karakter girmesine, saklamasına ve daha sonra kullanıcı programdan çıkıp tekrar yazana kadar yazdırmasına izin vermek için bir program almaya çalışıyorum. Kodum şöyle görünüyor:
#include <stdio.h>
int main()
{
char input[40];
char check[40];
int i=0;
printf("Hello!\nPlease enter a word or character:\n");
gets(input);
printf("I will now repeat this until you type it back to me.\n");
while (check != input)
{
printf("%s\n", input);
gets(check);
}
printf("Good bye!");
return 0;
}
Sorun, kullanıcı tarafından girdi (kontrol) orijinal (giriş) eşleşse bile, girdi dizesinin yazdırmasını almaya devam olmasıdır. İkisini yanlış karşılaştırıyor muyum?
strcmp()
gets()
hiç de kolay değildir. Ayrıca C11'den beri standarttan çıkarılmıştır -> Lütfen Okuyun Alım işlevi kullanılmaması için neden bu kadar tehlikeli?
gets( )
standarttan çıkarıldı.fgets( )
Bunun yerine kullanın .