0
我想獲取輸入數據並使用結構打印它。當我運行這個代碼時,它沒有爲姓輸入。它直接要求輸入名字的輸入。有人可以幫我弄這個嗎。謝謝。問題與獲取()
address.c
typedef struct
{
char lname[25];
char fname[20];
char address[20];
char phonenumber[20];
}addressbook;
addressbook a;
int main()
{
printf("enter details:\n");
printf("enter lastname:\n");
gets(a.lastname);
printf("enter firstname:\n");
gets(a.firstname);
printf("enter address:\n");
gets(a.address);
printf("enter phone number:\n");
gets(a.phonenumber);
printf("lastname:%s\n",a.lastname);
printf("firstname: %s\n", a.firstname);
printf("address:%s\n", a.address);
printf("phone number:%s\n", a.phonenumber);
}
當我運行它時,它不會等待輸入姓氏。它直接進入firstname。
只是一個注意:['gets()'是危險的](http://stackoverflow.com/questions/2843073/warninggets-function-is-dangerous) –
gets()已被棄用一段時間。使用getline()來代替。爲了避免溢出 – CoolBeans
總是使用'fgets'而不是'gets',以避免溢出 –