程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c語言編程-C語言關於使用結構體數組的問題

c語言編程-C語言關於使用結構體數組的問題

編輯:編程綜合問答
C語言關於使用結構體數組的問題

#include
struct Student
{
int mun;
long char name[5];
int score[3];
struct Student *next;
};
int main()
{
struct Student a,b,c,*head,*p;
a.mun=10101;a.name="張丹";a.score[0]=89;a.score[1]=95;a.score[2]=91;
b.mun=10103;a.name="彭浩";b.score[0]=99;a.score[1]=89;a.score[2]=90;
c.mun=10105;a.name="張磊";b.score[0]=85;a.score[1]=95;a.score[2]=97;
head=&a;
a.next=&b;
b.next=&c;
c.next=NULL;
p=head;
do
{
printf("%ld %s %d %d %d %d\n",p->mun,p->name,p->score[0],p->score[1],p->score[2]);
p->next;
}while(p!=NULL);
return 0;
}
在名字賦值那裡報錯left operand must be l-value,求解釋為什麼,要怎麼修改。

最佳回答:


第一,char類型只有unsigned char和char兩種類型,long是不能修飾char類型的;
第二,對於數組來說,數組名是一個地址值,不能作為左值,只能作為右值;一個漢字在程序中占2或者4個字節,這是根據漢字的編碼規則和編譯器來確定的,如果要輸入漢字,最好用指針的方式。
第三,寫程序的時候要細心哦,“b.mun=10103;a.name="彭浩";b.score[0]=99;a.score[1]=89;a.score[2]=90;b.mun=10103;a.name="彭浩";b.score[0]=99;a.score[1]=89;a.score[2]=90;p = p->next”;
第三,給你一點小建議,遇到問題了,盡量自己查資料,調試,分析錯誤,這樣收獲比較大;希望對你有用!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved