C語言問題

2023-05-12 12:35:04 字數 4964 閱讀 7012

1樓:

因為這裡f函式的實參實際上只是進行值傳遞,而不能夠被賦值,因為在函式定義時的形參也佔用空間,他自己獨自開闢了乙個空間,當給賦值時實際上值只是賦給了形參,都是儲存到了形參的空間裡,而沒有傳遞給實參。這樣在函式f呼叫結束後,形參的佔用空間被釋放,被賦的值也就消失了。

因此實參的值並沒有改變。

函式定義改為如下。

f(struct stu *p),}

p->num=s[1].num;

p->totalscore=s[1].totalscore;

函式呼叫改為如下。

f(&s[0]);

因為這樣形參獲得的是實參的位址,那麼給這個形參賦值,也即給這個形參指向的位址賦值,實際上就是給實參賦值。

2樓:小手闖天涯

#include//標頭檔案。

struct stu //定義結構型別。

void f(struct stu p) /無返回型別函式,};

/賦值s[1].num的值是20045

/賦值s[1].totalscore是537

main() 已解釋,注意取值範圍。

f(s[0]);呼叫函式。

printf("%d %"s[0].num,s[0].totalscore);

列印20045 537,s[0]的值在呼叫函式時被更改。

3樓:

摘要。親,您好,c語言問題:1、語法錯誤概念:

是指程式中含有不符合語法規定的語句2、邏輯錯誤概念:是指程式中沒有語法錯誤,可以通過編譯、連線生成可執行程式, 但程式執行的結果與預期不相符的錯誤。3、系統錯誤概念:

是指程式沒有語法錯誤和邏輯錯誤,但程式的正常執行依賴於某 些外部條件的存在,如果這些外部條件缺失,則程式將不能執行。

c語言問題。

親,您好,c語言問題:1、語法錯誤概念:是指程式中含有不符合語法規定的語句2、邏輯錯誤概念:

是指程式中沒有語法錯誤,可以通過編譯、連線生成可執行程式, 但程式執行的結果與預期不相符的錯誤。3、系統錯誤概念:是指程式沒有語法錯誤和邏輯錯誤,但程式的正常執行依賴於某 些外部條件的存在,如果這些外部條件缺失,則程式將不能執行。

親,**太模糊了,看不清楚。

4樓:

摘要。您好,c語言之問題集。

c語言 %-6d:6表示輸出列寬是6個字元,如果實際輸出的字元不足6個,則用空格補充其餘的位置,如果實際輸出大於6個字元,則按實際寬度輸出,前面的負號表示在右邊補空格。

如果沒有負號則表示在左面補空格。

數字是幾就表是幾個空格。

即:printf("%6d",123);

輸出的結果是(乙個小數點表示乙個空格)

c語言問題。

您好,c語言之問題集c語言 %-6d:6表示輸出列寬是6個字元,如果實際輸出的字元不足6個,則用空格補充其餘的位置,如果實際輸出大於6個字元,則按實際寬度輸出,前面的負號表示在右邊補空格如果沒有負號則表示在左面補空格。數字是幾就表是幾個空格。

即:printf("%6d",123);輸出的結果是(乙個小數點表示乙個空格)

具體的源**怎麼打。

問一問自定義訊息】

5樓:渠彩榮熊釵

#include

floatn;int

main()

integer

表示整數。real表示實數。

如果這個數取整之後還等於原數,則說明這個數是整數。、

6樓:巢文賦愛蕊

deque::push_back

原型void

push_back(const

t&x);typedef

dequeintdeque;

intdeque

dequetest;

就是在當前的佇列尾部插入乙個數value

例如:;依次插入了1,2,3

與pop_back不同,pop_back是刪當前的隊尾值。

push_back

類似堆疊操作push,pop_back

類似堆疊操作。

pop.這裡的"back"

容易把人搞糊塗。

自己看吧。

c語言問題

7樓:匿名使用者

五. 判斷乙個正數是否為對稱數,如果是返回0,不是返回1,(不允許呼叫c庫字串轉換相關函式),如11,121,1221就是對稱的。

首先把正數(沒有考慮浮點數)存放到字元陣列中a,len記錄正數長度。

while(num>=10)

然後比較判斷就可以了。}

8樓:我不喜歡故事

第一題的資料儲存形式看不懂到底是啥意思。求解……

9樓:海海胡

選擇題:

1、c2、d

3、b4、c

5、a6、a

7、c8、d

9、b10、d

判斷題:1、錯2、對。

3、對4、錯5、對。

c語言問題

10樓:雲淡風輕

!(a+b)+y-1&&x+b/2

這就是邏輯運算子和算數運算子的優先順序運算問題;

是邏輯非運算子,意思是(a+b)如果不等於0,則!(a+b)的值是0,如果等於0,則!(a+b)的值是1;

知道了!(a+b)的值以後,!(a+b)+y-1的值也就知道了。

然後求x+b/2,先求b/2,也就是b除以2,用得到的商加上x,就得出了x+b/2的值;

然後如果!(a+b)+y-1的值不等於0,同時x+b/2的值也不等於0,那麼這個式子的結果就是1;

如果&&兩邊的式子都等於0,或者有一邊等於0,那麼這個式子的結果就是0;

11樓:匿名使用者

(exp)?b++:b--判斷(exp)這個表示式是否為真,如果是真就執行b++,如果非真,就執行b--

我不能很好的表達,給你解題思路:

a.如果(exp)是假的,那麼(exp==0)就是真的,所以這句和(exp)不等。

b.如果(exp)是假的,那麼(exp!=0)就是假的,所以這句和(exp)完全相等。

c.如果(exp)是真的,那麼(exp==1)不一定為真,比如exp是b=2,那麼(exp==1)就為假,和(exp)不等。

d.如果(exp)是真的,那麼(exp!=1)就是假的,所以這句和(exp)不等。

所以答案是b

12樓:匿名使用者

(exp)這句是什麼意思啊就是條件 判斷真還是假如果exp是真 取b++;

假取b--;

就像是判斷bool型別。

應該選b

13樓:

'a''\101' -101是八進位制,表示字元'a'。

\'轉義符,表示\。

x41' -41是16進製制,表示字元'a'。

-表示回車符。

這面這些叫字元常量。

char a,b,c='2'; 定義三個字元變數,名稱分別為a,b,c,其中c被賦值為'2'。

14樓:匿名使用者

樓主,其實這個很簡單。字元常量就是不變的字元,比如說'a','b','c'..而字元變數就是可以指向不同字元的變數,比如 char d,當d=『a』時d就代表了'a',當d='b'時d就代表了'b',變數就像乙個碗,可以裝相應的常量。

15樓:姜雯韓旭

字元常量就是單個字元,不給他賦值。例如:a

字元變數就是對字元賦值。例如:int a=1 這個時候 a 就是字元變數。

16樓:帥得有點壞

字元常量是用單引號括起來的乙個字元。

有兩種表示方法: 一種是用該字元的圖形符號,如'b' ,y','

另外還可以用字元的ascii碼表示,即用反斜符(\)開頭,後跟字元的ascii碼,這種方法也稱為轉義序列表示法,具體方法是:有兩種形式: 一種是用字元的八進位制ascii碼,表示為:\odd.這裡,ddd是八進位制值(o可以省略)。

另一種使用字元的十六進位制ascii碼值,表示為 \0xhh或0xhh 這裡hh是兩位十六進位制值。 如:'a' ,101' 和 'x41'都表示同乙個字元常量。

轉義序列表示法還可以用來表示一些特殊字元,用來顯示特殊符號或控制輸出格式。

在c語言中,字元常量有以下特點:

1) 字元常量只能用單引號括起來,不能用雙引號或其它括號。

2) 字元常量只能是單個字元,不能是字串。

3) 字元可以是字符集中任意字元。但數字被定義為字元型之後就不能參與數值運算。如'5'和5 是不同的。'5'是字元常量,不能參與運算。

字元變數是存放字元常量的變數,其取值是字元常量,即單個字元。

字元變數的型別說明符是char。

定義形式: char 識別符號1,識別符號2,… 識別符號n

例如: char c1, c2, c3, ch ; c1=『a』 ;c2=『b』 ;c3=『c』 ;ch=『 d』 ;

說明: 1.字元變數在記憶體中佔乙個位元組。

2.在記憶體中,是把字元對應的ascii碼值放到儲存單元中。

3.字元型資料與整型資料之間可以通用。

每個字元變數被分配乙個位元組的的記憶體空間,因此只能存放乙個字元。字元值是以ascⅱ碼的形式存放在變數的記憶體單元之中的。如x的十進位制ascⅱ是120,y的十進位制ascⅱ是121。

對字元變數a,b賦予'x'和'y'值:a='x';b='y';實際上是在a,b兩個單元內存放120和121的二進位制**: a 01111000 b 01111001 所以也可以把它們看成是整形變數。

c語言允許對整形變數賦予字元值,也允許對字元變數賦整形值。在輸出時,允許把字元變數按整形量輸出,也允許把整形量按字元量輸出。整形量為二位元組量,字元量為單位元組量,當整形量按字元量處理時,只有低八位位元組參與處理。

不懂還可以問我。

17樓:匿名使用者

這你應該去百科上看下。

C語言問題,C語言問題

符合,相當於一個字元,ascii字元可以直接轉成short整型數字。101 不符合,這是一個字串,不能作為常數。不符合,因為 會對雙引號轉義,找不到另一個雙引號。會出錯。而且就算是 也不符合,因為編譯器會把它理解成一個字串,而非單個字元。e3不符合。019不符合,0開頭代表8進位制數,不能出現9。0...

C語言問題,c語言問題

這是值傳遞,值傳遞的過程的是,系統會給你的實參的值進行乙個拷貝,把這個拷貝傳遞給形式引數。因為是拷貝,所以實參裡頭的值是不會改變的。如果是位址傳遞就不一樣了。補充 你可以定義乙個指標,這個指標指向主函式的結構體。然後子函式的形參也定義乙個指向結構提的指標。這樣就是位址傳遞了。樓主還是好好花點時間看看...

c語言問題,求助,C語言問題,求助!!!

這種問題用哈夫曼樹的逆向思想就可以解決了,所以我建議還是自己按這思想好好研究一下。自食其力。c語言問題 因為 define s a p a a 定義後 是直接替換 運算過程是這樣的 3 3 5 3 5 所以是29 弱勢這樣定義的 p a a 結果就是192 3 3 5 3 5 9 15 5 29 巨...