關於c語言的問題,關於C語言的問題

時間 2021-09-05 20:02:53

1樓:鷹弈

1、有定義:int n=0,*p=&n,**q=&p;,則以下選項中,正確的賦值語句是(d)

a.p=1; b.*q=2; c.q=p; d.*p=5;

解:*p為一級指標,其中p為指標的地址,**q為二級指標,其中*q為指標的地址,只能給變數或指標變數賦值,不能給地址賦值,所謂地址,就是由acs碼構成,簡單的說,就是每個人都有一個名字(地址)一樣,目的是要區分每個人(地址中儲存的值)。

2、若有說明:int n=2,*p=&n,*q=p;,則一下其非法的賦值語句是(d)

a.p=q; b.*p=*q; c.n=*q; d.p=n;

解:同上。

3、有以下程式:

void fun(char *a, char *b)

main()

( char c1='a',c2='a',*p1,*p2;

p1=&c1; p2=&c2; fun(p1,p2);

printf("%c%c\n",c1,c2);

}程式執行後的輸出結果是(a)

a. ab b. aa c. aa d. bb

解:這是指標傳值(地址傳值),實參傳給形參,其實就是p1(實參地址)與a(形參地址)共用一個地址,p2與b共用一個地址,a=b並沒有改變地址a中儲存的『a』,而是讓*a指向地址b,進而改變或控制地址b中存放的值,所以c1=『a』不變,而(*a)++,就是字元『a'的asc碼加1,也就是字元『b'那麼地址b中的值就變成了字元『b'。

4、以下程式執行後的輸出結果是___1_1_1_1___

main()

}解:上面的q等於1吧,

當i=1;n[1]+q=n[0]*2+1=0*2+1=1;

i=2;n[2]+q=n[1]*2+1=0*2+1=1;

i=3;n[3]+q=n[2]*2+1=1;

i=4;n[4]+q=1;

5、有如下程式:

#include

main()

若文字檔案f1.txt中原有內容為:good,則執行以上程式後檔案f1.txt中的內容為(c)

a.goodabc b.abcd c.abc d.abcgood

解:簡單的說就是以「w(寫生成)」開啟的檔案,檔案內的原始資料將被刪除。這東西不是一兩句就能解釋清楚。

同學,你的c要好好加油啊,這都是些很基本的問題。

2樓:匿名使用者

1. *p表示指標所指向的變數。因此可以可以直接賦值。

對於a,p表示指標,不能直接對一個指標賦值一個變數值。

對於b,*q表示指標同a

對於c,兩者型別不同,一個二級指標一個一級指標,不能直接賦值。

2。p表示指標 *p表示指標指向的值,不能直接對指標賦變數值。

3。對於x而言,函式沒有地方改它的值因此結果為為原來的值a,函式的功能把y地址傳給a,並且把值加1,因此a+1=b;

4.n[i]=n[i-1]*2不管怎麼運算元組中的數全是0因此輸出其實是q值。

5.fopen("f1.txt","w")的時候如果檔案不存在那麼就會建立檔案,如果檔案存在就會把內容清空。

3樓:匿名使用者

1 2題其實就看他們相互之間型別相不相同

4樓:匿名使用者

int n=0;其中n是整型資料,*p=&n,其中p是指向整型資料的指標變數,而**q=&p;其中q是二次指標所以選擇d

第三題,p1,p2是分別指向c1和c2的指標變數,然後呼叫fun函式,a=b,含義是p1和p2都指向了c2,(*a)++是將c2加一

c語言報錯的問題?

5樓:匿名使用者

你的程式錯誤,是在

cout << 「enter the temperature in celsius:」;

cout << 「fahrenheit value is:」;中用了中文狀態下的雙引號。

#include

#include

#include

using namespace std;

int main(int nnumberofargs, char* pszargs)

以上程式正確,可以執行。

如果還不行,那就是編譯器的問題。建議:用vc2008,c-free或vc2010.

微軟已停止對vc6.0進行更新了。(開始不習慣很正常,成為高手後會喜歡例如vc2010的)。

問關於c語言指標的問題,問一個關於C語言指標的問題

常玉標 cannot convert from const int to double 編譯器 會出現這樣的錯誤.應為不能把const int 賦值給 double 型別的變數.希望你能懂 首先我鄙視下樓上的回答,答非所問。你這肯定錯誤的啊,首先 double p 是定義了一個指標變數p,p只能存放...

關於c語言的程式設計,關於C語言的程式設計問題?

執行示例 原始碼如下 include stdio.h int main printf n return 0 望採納。int用來定義整型變數 整數 float用來定義浮點型變數 實數 float和int一樣是用來定義變數的,它不是函式.賦值語句value 700 weight 14.5833之所以不在...

關於c語言的問題,一個關於c語言的問題

彬彬有禮 對於你的疑問,我一個一個幫你解決 1.因為5 9 代表整除取商,即結果為0 而 5.0 9 代表5除以9,即結果為0.555556 所以兩者結果完全不一樣。再比如 3 2 1,而3.0 2 1.5 2.double b 2這是對的,沒有必要寫成double b 2.0,因為系統會自動幫你轉...