1樓:匿名使用者
ghfychg ocojijovhhn. pjujicogogv ucohkjj cuhkkv ucjgcbk gfohgibvb focnlvo fxhbobpco cjbpjobl hibhobk gvcj:ljl
c語言程式不知道哪錯了
2樓:匿名使用者
不能這樣賦值。
你可以#include"stdio.h"
struct student
s[2]=,};
int main()
另外 注意只有2個元素。
3樓:匿名使用者
你新建了s[2],然後這兩個陣列元素應該是s[0]和s[1]啊,不是s[1]和s[2]。
後面for迴圈y也應該是i < 2。
看了樓下回答我想說說我的想法:
首先《**簡潔之道》推薦的寫法是把結構體的定義與宣告放在一起寫,因為這樣能迅速定位結構體成員的元素;其次,主函式不是一定要寫return 0;的,即使不寫,程式會自動返回0給作業系統,只有主函式可以這樣,寫上return 0;只是為了讓**格式統一;最後,由於c語言裡,int main()表示對引數形式預設(可以是void,也可以是int argc, char * argv),而且學習物件導向程式設計語言之後,你會發現對引數預設更好,所以建議還是寫int main()。
你的**應該是:
#include
struct student
s[2] =, };
int main()
其中,只要讀入成功就會列印「succeeded.」,就不用for迴圈檢查元素了。
4樓:匿名使用者
第乙個:結構體定義與申明建議不要寫一起。
第二個:結構體的初始化,注意型別。int num型別初始化成字串,char name初始化成字串。
第三個:陣列的下標從0開始引用。
第四個:主函式沒有返回或呼叫exit(0)第五個:struct結構初始化錯誤;
第六個:scanf,可變引數要傳位址
正確的寫法如下:
#include /*標準庫的標頭檔案必須這麼寫,帶雙引號的是自己定義的標頭檔案*/
#include /*可以使用exit()函式*//*語言中盡量不要使用幻數,看不出代表什麼內容,因此*/#define bufsize 2
struct student ;
/*主函式或入口函式推薦這樣寫*/
int main(void) ,};
for(i=0;i < bufsize; i++) \n",i,
std[i].num,
std[i].name,
std[i].grade);}
/*0代表未出錯返回,下面兩種方式二選其一*/exit(0);
/*return 0;*/}
c語言程式設計,提示有錯誤,不知道在**錯了。
5樓:今天度娘倒閉了嗎
把8,9,10行的程式放到printf("enter .... ")前面,要先宣告再用。這個程式的結構要改一下,用main函式的引數作為入口,得到val的值。
int main(int argc, char **argv)
6樓:匿名使用者
main是int型的要返回如return 0;
7樓:
看不清啊,1399198962發到我qq郵箱來
c語言編寫乙個測試題 **出錯了?
8樓:匿名使用者
在第乙個scanf後面接一句
getchar();
把輸入的回車讀走,不然第二個你沒機會輸入的
9樓:匿名使用者
你的話 第一題選a 第二題選a
C語言程式設計問題,C語言程式設計問題 設計一個程式,從鍵盤輸入a b c三個整數,將它們按照從大到小的次序輸出?(最
楓若神明 tt如果等於 a 那麼pp 0 裡的值應該 1,即 pp a a 即 pp tt a a a 0 b a 1 z a 25 明白了嗎 tt是一個字元。也就是整數型式的ascii碼。用這個字元減掉 a 的值也就成了陣列的下標值。因為字母是按順序排列的。然後陣列下標有了,就找到那個元素值進行 ...
c語言問題,乙個c語言問題?
你.是不是諶衛軍老師班上的.然而我也很菜 逃.include int is same char str,char s str在s中的出現次數 p strtok null,return flag int main ge j strlen s m j for j 0,k 0 jge i j 從第二個單詞...
c語言補充程式題,c語言乙個補充程式題
gets a 輸入字串 a i 代表第i個字元 word num 代表單詞個數 in word 為控制變數與a i 空格 聯絡 第一步 輸入字串 第二步 初始化 word num 0 in word 0 第三步 進入字元迴圈 for i 0 a i i 第四步 進入判斷條件 if a i 37 el...