第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

scanf("%s,%d", p1->name, p1->age)無法接受age的值

struct?Student?{
????char?name[30];
????int?age;
????struct?Student?*next;
};

struct?Student?*createStudent()?{
????struct?Student?*head;
????struct?Student?*p1,?*p2;

????int?n?=?0;
????head?=?NULL;
????p1?=?p2?=?(struct?Student?*)?malloc(sizeof(struct?Student));
????scanf("%s,%d",?p1->name,?&p1->age);
//????//分開輸入就沒有問題
//????scanf("%s",?p1->name);
//????scanf("%d",?&p1->age);
????while?(p1->age?!=?0)?{
????????n++;
????????if?(n?==?1)?head?=?p1;
????????else?p2->next?=?p1;

????????p2?=?p1;
????????p1?=?(struct?Student?*)?malloc(sizeof(struct?Student));
????????scanf("%s,%d",?p1->name,?&p1->age);
//????//分開輸入就沒有問題
//??????scanf("%s",?p1->name);
//??????scanf("%d",?&p1->age);
????}
????//使得末尾指向NULL
????p2->next?=?NULL;
????return?(head);
}

int?main()?{

????struct?Student?*student;
????student?=?createStudent();

????printf("%s,%d",?student->name,?student->age);

????return?0;
}

老師的結(jié)構(gòu)體內(nèi)是都是 int,我試了,都是int ,scanf("%d,%d", p1->gender, p1->age)可以接受2個值,但是一個char[] 一個int 就第二個值接受不到?scanf("%s [這里不要逗號] %d", p1->name, p1->age) 這樣卻可以接受,好奇奇怪。求解

正在回答

1 回答

因為scanf在輸入字符串的時候,是用空格或者回車表示結(jié)束,如果這里用逗號,scanf就會認為這個字符串還沒輸入完成(認為逗號也是字符串的內(nèi)容)

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

scanf("%s,%d", p1->name, p1->age)無法接受age的值

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號