1樓:匿名使用者
b的話很好說明,函式沒有返回值啊,void fun(char ch,float x) ,沒有返回值怎麼賦值給t呢
另外c的話,我也覺得有點問題
我倒是覺得d應該是對的,第二個32的話,大不了系統自己做個型別轉換麼,成為32.0
2樓:
b)t=fun('d',16.5); //fun沒有返回值,不能把返回值賦給t。
c)fun('65',2.8); //錯誤,改為fun('\65',2.8); 才正確。
d)fun(32,32); //正確
3樓:匿名使用者
b不對是因為fun()前面的void,你看b它要求函式返回一值賦給t呢。。。
65可以表示整數65,也代表字元a啊,你查ascii看看就知道了。。。
4樓:
int和char型別可以互通『65』,『a』應該是一樣的,因為大寫字母a的ascii的碼值是65..
5樓:匿名使用者
b肯定是錯的 無返回值 return;
字元型與整形在c語言中是可以相互轉化的 65是ascii碼 對應字母a 所以c為 fun('a',2.8);
沒什麼問題
初學c語言,只是這樣理解的,希望可以幫到你!~~
6樓:匿名使用者
給你乙個程式作為參考,求某一天是這一年的第幾天只要把當前日期是第幾天,生日是第幾天求出來。
那麼減一下,就是離生日還有多少天。
至於幾歲,就是直接比較當前日期和出生日期,就可以了。
#include
int main()
;int y, m, d;
int i, day;
int special_year;
scanf("%d%d%d", &y, &m, &d);
if(y % 400 == 0 || y % 100 != 0 && y % 4 == 0)
if(m >= 1 && m <= 12 && d >= 1 && d <= month[m])
printf("%d\n", day);
}else
return 1;
}另外,團idc網上有許多產品**,便宜有口碑
7樓:匿名使用者
答案錯的,應該是d。
b,fun沒有返回值。
c語言問題?
8樓:yfgh無悔
如果所有的case都不符合,就會執行default語句,之後會跳出這一層,繼續執行下一次迴圈。
9樓:蒼穹夜光
首先求解表示式,其計算結果若與下面某個常量表示式相等,則執行完該case,一專般後面後面加上break;跳出,
若該case沒有break,執行完後,後面的case會依次執行,直到碰到break,不然就會執行完所有語句。
對於你的問題,沒有break,舉個例子,若屬表示式結果為 第三個常量表示式,會執行完語句段3到語句段n+1所有語句。即(如果表示式的值與某個常量表示式的值相等,則執行該常量表示式後的所有語句段)
還有一般default後面只有乙個語句段,說所有語句段不太合適。
應該是對的。
10樓:荊芳菲力蒼
這是一來
個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()語句的執行順序就可以明白了,明白了嗎?
11樓:金蔚逮忻歡
main函式雖然是主函式、它是程式執行的開始處、但是、它也是函式、所以、也有返回值專和沒有返回值屬
c99標準規定main函式必須是int
返回值return
0;至於返回值是返回給作業系統的!
void
main
就是沒有返回值
12樓:蘇幹孟暢然
intmain()
在函式結尾需要給出返回值
void
main()
就不需要了。
一般,對於寫程式的來說,這兩個差別不大。
但是,不同編譯器對此的處理可能不同。
13樓:宋來吳冰菱
這一段**的思想是動態規劃
dp[j]
=dp[j]
+dp[j-a[i]];
拼出j的個數等於拼出j-a[i]的個數加上原本拼出j的個數
14樓:牧典表秀美
是的。表示已經定義了max這個巨集,而這個巨集的內容為空。如果後期進行巨集替換則該巨集被替換為空的內容。
比如int
a=max-5;就替換成int
a=-5;
15樓:覃奧韋向
可能是你沒有給兩個變數賦初值,你加兩句賦初值語句在試試看,希望能對你起到幫助
16樓:權敬枝浩然
int(*p)[5]
這是乙個陣列指標
說明變數p是乙個指標,指向了乙個容量為5的陣列。
17樓:顧宜世依白
有區別假如你用的int
main()那麼你程式執行結束後的程序狀態值是在main裡返回的值。如果void的話,其他程式就不能得到你這個程式的結束返回值。。。
18樓:襲邵隱春燕
str1+strlen(str1)/2
strlen(str1)=13(空格也是1個)str+6是&[6]的位址
strcpy(str1+strlen(str1)/2,"esshe")
是將es
she複製到str1+strlen(str1)/2去,就是從第六位開版
始你說的也對權!
c語言問題,求助
19樓:北京最遊科技****
這題是迷惑人用的……
因為迴圈內部沒有break,所以for會一直執行下去,直到a=11,。這時a大於10,迴圈結束。
最終a的值為11
20樓:岔路程式緣
for(a=0;a<=10;a++)
直到a=11時,迴圈結束。迴圈體對a的值沒有影響,包括continue對迴圈沒有影響。
所以,最後列印a的值是11,選項b。
c語言基本問題
21樓:岔路程式緣
一、c語言規定總是從main()開始執行的(這個函式也叫「主函式」)。因此,你發來的題目中的(1、6、8)敘述都是錯誤的,都應該選擇f。
二、第2題中,c語言對其資料在記憶體中所占用的實際位元組數,隨著程式中宣告的資料型別以及資料的多少而變化,c語言本身並沒有明確規定。這題應該選f。
三、第3題,c語言中強制型別轉換,僅對轉換的語句有效,而不會改變所轉換變數的原有資料型別,這是正確的,應該選t。
四、第4題,i=8,j=10;printf("%d,%d,%d,%d\n",i,j,++i,j++);實際上是乙個程式執行類題目,執行這一句時,先取得ij變數的值,其中有乙個++i(先自增),乙個j++(後自增),先自增的i先加上1,也就是i=8+1=9,而後自增的j在列印之後再加1,所以列印時仍是j=10。所以列印出來是:9 10 9 10。
這是正確的。
五、第5題「c語言中放在「」之間的內容都被視為字串的乙個構成部分,都可以在螢幕上原樣顯示」的說法是錯誤的。舉乙個例子就可以了:print("%d",8);是列印不出來%d的,它只能列印出來8。
所以它是錯的。
六、第7題,設x、t均為int型變數,則執行語句"x = 10;t = x && x >10;"後,t的值為,這個題目好似沒有寫完,成了填空題了,現在來看計算過程,t = x && x >10,根據計算的優先順序,>號是6級,&&是11級,先計算x >10,因為x=10,故x>10是不成立的,所以它的值是0,第二步再計算x && 0=10 && 0=0。t的值最後應該是0。
希望對你有所幫助。
22樓:匿名使用者
第一題:f,是從主函式的第一條語句開始執行的。
第二題:t,每一種資料型別在c語言中都占用固定的位元組數。
第三題:f,強制型別轉換會改變資料型別。
第四題:f,輸出結果為8,10,9,10。
第五題:f,不能被原樣顯示的有預處理命令中被包含檔名(如"stdio.h")、printf函式的轉義字元(如"\n")。
第六題:f,程式執行是從主函式第一條語句開始,執行到主函式最後一條語句結束。
第七題:t的值為0,因為x>10的值為0。
第八題:f,c程式執行從主函式開始。
23樓:匿名使用者
f( t )c語言程式是從原始檔的第一條語句開始執行的。
//c語言程式是從主函式中的第一條語句開始執行的
2. f( t )c語言對其資料在記憶體中所占用的實際位元組數是有明確規定的。
//c語言對其資料在記憶體中所占用的實際位元組數沒有明確規定,比如:整型資料在turbo c中佔2位元組,在vc中佔4位元組
3. t( f)c語言中強制型別轉換不會改變原變數的原有資料型別。
//強制型別轉換不會改變原變數的原有資料型別,得到的結果是轉換後的型別資料
4. t( f )程式段:i=8,j=10;printf("%d,%d,%d,%d\n",i,j,++i,j++);其結果9,10,9,10.
//先執行j++,輸出10 再執行++i,輸出9,然後輸出i和j的值,分別是9,10
5. f( t )c語言中放在「」之間的內容都被視為字串的乙個構成部分,都可以在螢幕上原樣顯示。
//c語言中放在「」之間的內容都被視為字串的乙個構成部分,前半句是正確的
//都可以在螢幕上原樣顯示。不一定,比如有些轉義字元,換行符\n,退格\b等等
6. f( t )c程式的執行是從程式的第一行開始,一直到程式的最後一行結束。
//c程式的執行是從主函式的第一行開始,一直到主函式的最後一行結束
7. t( f)設x、t均為int型變數,則執行語句"x = 10;t = x && x >10;"後,t的值為。
//執行語句"x = 10;t = x && x >10;"後,t的值為0
8. f(t )c程式的執行從程式頭開始。
//c程式的執行是從主函式的第一行開始,主函式可以位於程式中的任何地方,不一定是程式的開頭
24樓:匿名使用者
1經常程式執行是由啟動**開始的,而啟動**一般都是彙編寫的,2.不確定的,資料型別定義的時候是確定的,執行的時候根據硬體多不同會有所不同
3.毫無疑問肯定會了,要不還說什麼強制呢,對吧4.應該是8,10,9,10吧。
因為printf語句就執行了一次,所以第乙個i是8,第二個i是先+後輸出應該是9,第乙個j是9,第二個j是先輸出後++,而程式只執行了一次,所以還是沒有+,等於10。
5.雙引號是c的字串格試符,所以是對的。
6.同第一題
7·沒有看明白
8.同第一題
c語言問題求助,C語言問題求助
普洛智應 include void sort int p1,int p2,int p3 else if p1 p3 else else if p2 p3 if p1 看下函式形參和實參的概念。 include main void sort int p1,int p2,int p3 少括號 else ...
c語言問題,求助,C語言問題,求助!!
include int flower int num int main include int flower int num int main t 0 for i m i n i if t printf no n else printf n return 0 風林火陰山雷 先回答你第一個問題,遞迴函...
求助,c語言問題,求助,c語言問題
沈子繁 結果 整個程式的功能其實就是用了三種方式輸出陣列中的6個數 陣列名a可以看成陣列首元素的地址,陣列開闢了一段連續的儲存空間,a i 逐個解引用陣列中的元素 pa a,讓指標pa指向陣列首元素,通過指標的移動輸出陣列中的元素 include int main i,pa for i 0 i 6 ...