亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

輸出結果第二個數報錯

為什么輸出的是90,25775849394

而不是90,98呀?


#include<stdio.h>


struct Student

{

? ? int math;

? ? int English;

};


int main()

{

? ? struct Student s[50];

? ? s[49].math=90;

? ? s[49].English=98;

? ? printf("%d,%d\n",s[49]);

? ? return 0;

}


正在回答

2 回答

c++是沒有print的!你應該是學過python的,python用的是print;而c++用的是cout。

如果想要運行,printf("%d,%d\n",s[49]);應該改為:

cout << s[49];或 cout << s[49] << endl; 或cout << s[49] << " ";

第一個是語句結束沒有任何其它內容,第二個是語句結束后換行,最后一個是空格

1 回復 有任何疑惑可以回復我~
#1

qq_幕布斯0275743

c++也是可以用printf的
2023-12-07 回復 有任何疑惑可以回復我~
//你的輸出錯誤了,s[49]是Student這個結構體,而不是里面數據的值
//第一個輸出結果是90,是因為取址在這個結構體的開頭,也就是s[49].math這個4字節內存的地址
//雖然這可以獲取math的數值但是你應該使用s[49].math來保證代碼魯棒性更高(不容易出bug)
//你第一個%d對應的是math的值,第二次%d卻沒有對應,所以第二次輸出也就是垃圾數據了(毫無意義的一串數據)
//你應該這樣,前一個%d對應s[49].math,后一個對應s[49].English
printf("%d,%d\n",s[49].math,s[49].English);


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

舉報

0/150
提交
取消

輸出結果第二個數報錯

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號