誰來幫我解釋一下這段linux下的C程式

2021-03-03 20:30:22 字數 1948 閱讀 6386

1樓:

這屬於c++的範疇,雖然我c++學得也是半斤八兩,但是這段**我還是基本上過得去。 我假設你是有一定的c程式設計基礎,

誰能幫我解釋一下下面的c程式

2樓:

#include

#define m sizeof(unsigned int)*8 /*定義常量來儲存sizeof(unsigned int)*8 其實為了輸入簡單點 */

int trans(unsigned n,int d,char s)

buf[i]='\0';

dowhile(n);

for(j=0;(s[j]=buf[i])!='\0';j++,i++);

return j;

}int main()

;char str[33];

int i;

printf("請輸入一個要轉換的數字:");

scanf("%d",&num);

printf("你輸入的數字是%d.\n轉換的結果是:\n",num);

for(i=0;i(%d) error!\n",num,scale[i]);

}printf("\n請按任意按鍵退出\n");

return 0;}

請問下面這段程式,誰能幫我解讀一下!我需要有一定c語言基礎的人作答,解讀完程式還要能得出正確結果!

3樓:匿名使用者

很好解釋:

a[0]表示第一行的首地址,也是第一行第一個元素的首地址。a[0]+1指向了a[0][1]。所以列印了1234

a表示陣列的首地址,這是一個行級別的指標。a+1 指向了第二行。所以從第二行的首開始列印

234(typeof(&a))p &a這個地址,相當於一個指向一個3行2列元素的陣列。所以p其實這樣後等價

p[2][3][2]="012345678"

儲存結構如下:

0123

4567

8空空空

所以 p+1就是p[1][3][2]開始列印:678完畢!

4樓:匿名使用者

char a[3][2] = ;

strcpy((char *)a, "01234"); //將」01234」儲存到二維陣列a中

char *p = (char*)malloc(10); //分配10位元組空間

strcpy(p, "012345678"); //將 "012345678"儲存到p所指空間

printf("%s\n", (char *)(a[0] + 1)); //a[0]為二維陣列a第0行的首地址,+1為第0行的第1個元素地址

printf("%s\n", (char *)(a + 1)); //a為二維陣列的首地址,+1為第1行的首地址

以陣列a的長度為一個指標單位(6位元組),+1則是第6個字元地址。

free(p);//釋放指標

(本人根據c陣列下標方式數數,從第0行第0個字元開始)

結果1234

234678

5樓:匿名使用者

typeof是神馬語言的?c語言有這個東東?

【c語言】誰能幫我解釋一下這個程式裡for迴圈裡面每句的意思?

6樓:崎下山護

ch[i] = getchar();是指把使用者輸入的字元賦值給ch[i]

if (ch[i]=='\n'||ch[i]==eof) break; 當使用者輸入回車鍵或ctrl+c時退出迴圈

7樓:

ch[i]=charger()輸入一個字元給陣列ch

if 判斷輸入是不是回車或者eof檔案結束符

如果是執行break跳出迴圈

誰幫我解釋一下顯示卡,誰能幫我解釋解釋一下

有時也不準啊,現在3850只要500元強過8600很多,但有很多8600也是500元甚至是600元.主要視訊記憶體型別,位寬大小,流處理器的多少及做工用料等方面,頻率的高低也是個次要的方面.看核心的頻率和視訊記憶體的位寬,以及視訊記憶體的大小,其他還有什麼著色點,渲染線都不太重要的,市場上基本上就是...

幫我解釋一下這是什麼原理,誰能幫我解釋一下這個反應的化學原理

一個半橋上模組,上面的三個接線柱分別是左邊接正,中間接地,右邊接輸出。內沒輸出可能容是igbt本身壞了,但是更可能是igbt驅動出了問題,有示波器的話可以量一下左邊pcb上與igbt相連的四個焊點的波形,上面兩個一組,下面兩個一組。看看是不是波形異常。誰能幫我解釋一下 這個反應的化學原理 應該給的是...

誰幫我解釋一下,誰幫我解釋一下這個段子什麼意思?

是的,肯定是你朋友幫你買的時候留了你的號碼,留你的號碼作為物流簽收聯絡人,估計你朋友是在 天貓,京東哪個上面買的,你朋友付款之後,商家系統給你推送的資訊!提醒你的!是的,肯定是你朋友幫你買的時候留了你的號碼,留你的號碼作為物流簽收聯絡人,估計你朋友是在 天貓,京東哪個上面買的,你朋友付款之後,商家系...