1樓:匿名使用者
struct student拼寫成struct studnt了。拼寫錯誤!
struct studnt沒有定義,所以無法執行sizeof。
2樓:榖樑躍
#include
typedef struct student;
int main()
c語言問題?
3樓:友有友
嗯你的理解是對的,break就是用來跳出的switch,如果沒有break時就像你說的那樣,當其中一個case符合條件是,後面的全部語句都會當做成立的條件去執行
4樓:yfgh無悔
如果所有的case都不符合,就會執行default語句,之後會跳出這一層,繼續執行下一次迴圈。
5樓:蒼穹夜光
首先求解表示式,其計算結果若與下面某個常量表示式相等,則執行完該case,一專般後面後面加上break;跳出,
若該case沒有break,執行完後,後面的case會依次執行,直到碰到break,不然就會執行完所有語句。
對於你的問題,沒有break,舉個例子,若屬表示式結果為 第三個常量表示式,會執行完語句段3到語句段n+1所有語句。即(如果表示式的值與某個常量表示式的值相等,則執行該常量表示式後的所有語句段)
還有一般default後面只有一個語句段,說所有語句段不太合適。
應該是對的。
6樓:荊芳菲力蒼
這是一來
個for語句,根據for語句的源形式:for(語句bai1;語du句2;語句3){函式體;}
的執行順序是zhi:語句1,判斷dao語句2是否成立(非0為真,0為假)函式體,最後是語句3,(£)再進行判斷語句2,是否成立,在執行函式體,語句3
,在執行(£)知道條件不滿足語句2,跳出迴圈;如果,語句2是非邏輯表示式,即非判斷語句時,迴圈體內,必有滿足條件的跳出語句
break,否則為死迴圈;
這裡的for(k=1;k+1;k++)
可以這樣解釋:執行迴圈for()語句時,初始條件
k=1;之後執行
k+1(k=2,非0,條件為真繼續執行)之後執行函式體for下面花括號{}的內容,之後在執行
k++(k自增1)
所以,明白for()語句的執行順序就可以明白了,明白了嗎?
7樓:金蔚逮忻歡
main函式雖然是主函式、它是程式執行的開始處、但是、它也是函式、所以、也有返回值專和沒有返回值屬
c99標準規定main函式必須是int
返回值return
0;至於返回值是返回給作業系統的!
void
main
就是沒有返回值
8樓:蘇幹孟暢然
intmain()
在函式結尾需要給出返回值
void
main()
就不需要了。
一般,對於寫程式的來說,這兩個差別不大。
但是,不同編譯器對此的處理可能不同。
9樓:宋來吳冰菱
這一段**的思想是動態規劃
dp[j]
=dp[j]
+dp[j-a[i]];
拼出j的個數等於拼出j-a[i]的個數加上原本拼出j的個數
10樓:牧典表秀美
是的。表示已經定義了max這個巨集,而這個巨集的內容為空。如果後期進行巨集替換則該巨集被替換為空的內容。
比如int
a=max-5;就替換成int
a=-5;
11樓:覃奧韋向
可能是你沒有給兩個變數賦初值,你加兩句賦初值語句在試試看,希望能對你起到幫助
12樓:權敬枝浩然
int(*p)[5]
這是一個陣列指標
說明變數p是一個指標,指向了一個容量為5的陣列。
13樓:顧宜世依白
有區別假如你用的int
main()那麼你程式執行結束後的程序狀態值是在main裡返回的值。如果void的話,其他程式就不能得到你這個程式的結束返回值。。。
14樓:襲邵隱春燕
str1+strlen(str1)/2
strlen(str1)=13(空格也是1個)str+6是&[6]的地址
strcpy(str1+strlen(str1)/2,"esshe")
是將es
she複製到str1+strlen(str1)/2去,就是從第六位開版
始你說的也對權!
c語言問題
15樓:匿名使用者
void main()
這個程式應該滿足你的要求了,而且我已經通過除錯了。
16樓:匿名使用者
#include
#include
int main(void)
17樓:璞玉渾金
#include
void main()
c語言問題!
18樓:匿名使用者
因為s是一個指向float型別的指標,在初始化的時候,*s=a;所以s指向了陣列a,因為陣列名代表了陣列的首地址,也就是s此刻指向了陣列a的第一個元素a[0],而a[0]==1.1,然而,你呼叫fun(a,b,s),但是在函式fun中並沒有對main()函式中的s指標有任何改變,因為你在func()函式中的s和main()根本就不是同一個,在fun()中的s在沒有呼叫calloc()之前,也是指向a[0]的,但是呼叫calloc()後,func()中的s就指向了一個系統分配的地址,所以改變func()中的s並不會影響到main()中的s。
19樓:匿名使用者
為什麼是21.1?即使沒發現錯誤也應該理解為11.1才是啊......錯誤在於對s的重新賦值。
s作為引數傳給fun,然後fun內部改變了s的值,並寫入新數。
但fun執行完後返回時,main函式裡面的s沒有改變,因為c語言的引數傳遞是傳值的。
結果就是,執行printf所顯示的實際還是a[0],所以顯示1.10修改方法:
1、把calloc放在main裡
2、如果calloc有特別要求不能動,那麼把fun的第三個引數變成 float** s ,其他s對應著修改。
c語言問題,c語言問題
首先你這個程式輸入個數是不可控的,n沒起到作用,因為你控制輸入的迴圈已經規定了i是從0到99,必須要輸入100個。而你這個 自認為統計總人數 的n n i,相當於n 1 2 3 那是不可能的。while xh i scanf d d xh i sg i n i sum sum sg i 用美元符號做...
c語言問題,C語言問題
if判斷句中,x 1 是真命題,所以x被賦值為1,y x,所以y被賦值為1。下一條語句,y y 1,所以y 2。所以x 1,y 2 c語言問題?這句迴圈的bai意義是從索引9開始du 向左遍歷元素,直到i j結束。zhi 整段代dao碼是接收鍵盤輸版入一個值,按大小順序插權入到陣列。第一個迴圈是從陣...
C語言問題,C語言問題
cstruct stu main p 5 t int i,j for i 0 i 5 i p i s i for i 0 i 4 i for j i 1 j 5 j if p i score p j score 這句只是改變指標指向的位置,而不改變陣列本來的值 printf 5d d n s 1 s...