C語言問題,急!高手幫忙,今天晚上10 00之前要答案,急

時間 2021-10-14 22:40:00

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樓:閩盼愚菁菁

判斷題答案:錯錯錯錯對錯對對對錯對錯對錯錯錯錯錯對對,我手機啊!先把你的選擇題做完。

C語言的問題,高手幫幫忙

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...

c語言的多選問題,高手幫忙做下,C語言的多選問題,高手幫忙做下

及時澍雨 1 下列常數中能作為c的常量的是 a 0x4 b 2.5e 2 c 33 d 03a 選abc,因為0開頭的數字為八進位制數,僅有0 7,木有a這個數 2 下列計算機語言中,cpu不能直接執行的是 a 自然語言 b 高階語言 c 組合語言 d 機器語言 選abc,高階語言,編譯器會轉化為低...

c語言問題求高手解答,C語言問題求高手解答

幫你寫好了,這裡幫你編譯執行了,沒任何問題,不放心的話你自己試試struct staff int main void if head null puts 沒有任何資料,抱歉!else current head while current null current head while current...