Итак, я пытаюсь сделать этот код, который говорит «Hello Mr» или «Hello Mrs» в зависимости от пола пользователя, но когда я запускаю программу, «Позвольте мне набрать мое имя, но почему?Код с gets() и printf не работает
Кроме того, я пытался использовать fgets(), но компилятор говорит « слишком мало аргументов для функции„fgets“»
#include <string.h>
#include <math.h>
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
void flushstdin()
{
int c;
while((c=getchar())!= '\n' && c != EOF);
}
int main() {
float sex;
char name[60];
printf("\nInform your sex: 1 if you are male, 2 if you are female.");
while(scanf("%f",&sex)!=1 || sex!=1 && sex!=2){ //In case the person typed something different of 1,2.
printf("\nInform a correct value, 1 or 2.\n");
flushstdin();
}if(sex==1){
printf("Inform your name.\n");
gets(name);
printf("\nHello Mr. %s \n",name);
}
if(sex==2){
printf("Inform your name.\n");
gets(name);
printf("\nHello Mrs. %s \n",name);
}
system("pause");
return 1;
}
Я знаю, что получает() на самом деле не используется, но я не знаю никакой другой функции для использования вместо .. –