1樓:誰用了情無四歸
1.共用型,結構型,列舉型,陣列不算是構造型別,屬於組合型別。
2.sizeof屬於操作符,象+,-一樣,sizeof(float)可算表示式。
3.strlen("\t\"\065\xff\n)); 看不懂你寫得什麼,語法錯誤。八進位制\o ***,十六進位制\x xx。
不寫o應該識別不出是什麼進位制。如果是strlen("\t\\065\xff\n")); 則答案是7。
4.(1).a裡p-a是指標得運算,得到的是一整數,可以作為索引來取值。
(2).是,第i-1個元素。
(3).(a+i)表示第i個元素的地址。*(a+i)表示第i個元素。 在運算中,a表示的當然是首地址。
5.這其實就是的變體而已,只不過把a+=b用一個字串來賦給一char *而已。
6.答案給的是00011011 。〈〈的優先順序高,先左移再異或。
7.輸出:6,980,return 0表示函式int fun(int*s,int t,int*k) 的返回值是0 。
8.你的想法是對的,葉子節點是2的(5-1)次方。
9.p+=3;只是用來迷惑你的;事實上strcpy(p,"abcd") 是以p 為新首地址的複製,而不是以原來的char*p為首地址。複製後是"abcd"。
10.答案是c。
建議你換本書看,你的書錯誤太多。
2樓:匿名使用者
1、陣列是構造型別
2、sizeof不是函式,是運算子,所以選b
3、你說的「\ 後面表示八進位制的時候,開頭不寫0」我沒看到過,我只看到\後面跟1到3個數表示八進位制(這些數不能超過7)
4、(1)p這時候等於a啊,所以p-a==0,a[p-a] 不就是a[0]麼
(2)是,和a[i]是一個意思
(3)a是陣列名,c語言規定陣列名即表示陣列首地址的常量,它和這裡的p都是int *型別,不同的是a是常量,不能改變,p是變數,可以改變。
5、printf的第一個引數是個字串,用來作格式化輸出引數,這裡的format變數不就正好是字串的指標麼。
6、《的優先順序比^高,所以先將y左移2位再和x異或。
7、這裡的*k用來儲存真正想要的結果,所以return 0只是做個樣子,告訴你函式運算正確而已。
8、我認為你是對的。
9、"abcd"有隱含的'\0'啊,strcpy時這個'\0'也被複制了啊,所以是abcabcd\0,strlen求長度時看到'\0'就結束了,所以返回4。
10、c
c語言的幾個題目,請高手幫幫忙,急!!
3樓:匿名使用者
我放到編譯器去跑了一下
第一個是0
第二個是2
第四個是因為是巨集。。。。那個min(x,y)直接被替換成了x*y表示式就變成了k=10*i+2*j就等於110了
4樓:風z使者
第一題的答案是0
先算「==」判斷,b是否等於c,否,返回0,再「==」賦值,將0賦值給a
第二題的答案不太清楚,問題沒給完整。猜測這裡問的是b的值「,」逗號運算子,從左到右執行,一般來說將最後一個逗號後面的式子作為最後結果給左面「=」賦值號的左面的變數,但這裡沒有賦值,所以直接從左到右執行。執行過程中,(只有)4賦給了b,所以b的值為4
第三題:...明天答你
c語言的幾個題目,請高手幫幫忙,急!!
5樓:匿名使用者
1、main()
結果為什麼是110?
k=10*min(i+2,j);
#define min (x,y) x*y x 和y應該是固定值
min(i+2,j) 在編譯時不能通過
6樓:
b==c 為假 所以 是 0 a=b==c 為a=0
所以列印出來的是0 並非1
其他2個題目有問題
急求高手幫忙解決問題。。。(c語言編寫程式題)急啊!萬分謝謝! # include
7樓:
#include
/* 函式作用:
將陣列 s 的位置在 n1 至 n2 之間的元素,首尾依次交換。
也就是第 n1 個元素和第 n2 個元素交換,也就是第 n1+1 個元素和第 n2-1 個元素交換,也就是第 n1+2 個元素和第 n2-2 個元素交換,。。。
*/ void fun (int *s,int n1, int n2)
}void main()
,i,*p=a;
// 將第 0 至第 3 個元素,首尾依次交換// fun 執行後,a[10] =
fun (p,0,3);
// 將第 4 至第 9 個元素,首尾依次交換// fun 執行後,a[10] =
fun (p,4,9);
// 將第 0 至第 9 個元素,首尾依次交換// fun 執行後,a[10] =
fun (p,0,9);
for (i=0;i<10;i++)
printf ("%d",*(a+i));}
8樓:步行者
函式的功能是交換n1到n2之間的元素值
c語言習題請高手幫忙解答。急。
9樓:匿名使用者
1.b2.c
3.a4.a
5.c6.無解
7.a8.d
9.d10.b(x沒有定義)
11.i=5,j=4,k=6
12.2048
13.看不懂!- -|
14.4
15.s++,k++,k 10樓:暝霾 這些都很簡單,但別人給的答案不一定準確 11樓:索多瑪海盜 真是懷疑。。。是入學考試還是畢業考試? 12樓:匿名使用者 是入學考試還是畢業考試? c語言高手幫忙修改!!急急急急急(50分) 13樓:匿名使用者 tmpbuff[4]不在陣列tmpbuff中,所以它的值是未知的。 tmpbuff只有tmpbuff[0]~tmpbuff[3]這四個元素。 在while()迴圈後面再加一個if判斷就可以了! 要限制tmpbuff[0]不能等於0,只需要修改原程式中的if語句,修改後的程式如下: 像這樣: #include #include void main(int argc, char *ar**)else }else else tmpbuff[i++] = num_val; num_count=0; num_val= 0; }++str; }tmpbuff[i] = num_val; i=0; }if(dot_count!=3) //加一個if語句 if (tmpbuff[3]>255||tmpbuff[3]<0)while(i<4) printf("correct:%d\n",tmpbuff[i++]);} 14樓:匿名使用者 你的最後一個數沒有做判斷,因為*str='\0'的時候while已經結束啦,下面這個沒有執行,所以1.1.1.256是合法的,而1.256.1.1通不過 else 修改後的** ##include #include void main(int argc, char *ar**)else } else else tmpbuff[i++] = num_val; num_count=0; num_val= 0; } if(!(*str)) ++str; } tmpbuff[i] = num_val; i=0; } if(dot_count!=3) if(tmpbuff[0] == 0) while(i<4) printf("correct:%d\n",tmpbuff[i++]);} 急求答案!!!!求高手幫忙做一下這套c語言的模擬題!!!!!! 15樓:閩盼愚菁菁 判斷題答案:錯錯錯錯對錯對對對錯對錯對錯錯錯錯錯對對,我手機啊!先把你的選擇題做完。 include include include struct node main for i 1 i n i else currentnode next headnode a node headnode b node headnode next printf please input the num... 及時澍雨 1 下列常數中能作為c的常量的是 a 0x4 b 2.5e 2 c 33 d 03a 選abc,因為0開頭的數字為八進位制數,僅有0 7,木有a這個數 2 下列計算機語言中,cpu不能直接執行的是 a 自然語言 b 高階語言 c 組合語言 d 機器語言 選abc,高階語言,編譯器會轉化為低... 幫你寫好了,這裡幫你編譯執行了,沒任何問題,不放心的話你自己試試struct staff int main void if head null puts 沒有任何資料,抱歉!else current head while current null current head while current...C語言的問題,高手幫幫忙
c語言的多選問題,高手幫忙做下,C語言的多選問題,高手幫忙做下
c語言問題求高手解答,C語言問題求高手解答