在c語言中可以如下定義嗎?

時間 2021-05-05 17:15:56

1樓:我去我

不可以,不要去想著奇怪的寫法,計算機看不懂的,雖然可以編譯通過,但是和你的目標相差十萬八千里。

二義性放在這裡也不準確,因為程式設計中一段話的意思就是唯一的,而且唯一的那個就是計算機執行的那個即使你覺得應該是別的樣子,但是還是得聽計算機的,你的想法是錯的

2樓:DJ Hitori

if語句的括號裡寫乙個表示式,執行時根據表示式的運算結果是否為乙個真值來選擇執行哪個分支。

==是乙個二元運算子,比較兩個運算數是否相等,並給出0或者1作為結果。

||是乙個二元運算子,檢查兩邊是否有至少乙個真值,並給出0或者1作為結果。

對整數(包括char)來說,除了0以外的值都看成真值。

如果用if (a[i] == 'a' || 'A')的寫法,查文件可知==的優先度比||高,所以計算表示式a[i] == 'a' || 'A'時,首先進行==運算,得到0或者1,再把這個0或者1和'A'進行||運算。因為'A'是乙個真值,所以無論a[i]的值是什麼,無論前面==運算的結果是什麼,整個表示式的結果一定是1。

if (a[i] == 'a' || a[i] == 'A')是符合題主要求的寫法。

我能想到的其他寫法包括:

char

toLower

(charin)

else}if

(toLower(a

[i])==

'a')

switch(a

[i])

C語言中函式的定義中 比如void print 括號裡面可以使空白嗎,像void main 就可以,前者這麼寫對嗎?

看到過一種說法是c中function 等價於function 即引數任意可變 無論型別還是數量 而 void 則是強制要求沒有引數,所以是完全不一樣的。對這種模糊的區別,最好的辦法就是別挑戰它,按確定無二意的寫法寫,別給自己找不痛快。 Victorique 詳細見此 http 簡而言之,C 可以省v...

在C語言中什麼意思?

男兒本色 在C語言中代表的是取位址符。scanf d a 這代表的是像a這個變數中輸入乙個整型數,我們知道,計算機的資料是放在電腦的儲存單元中的,在變數被建立的時候,在儲存器中就被分配了一定的儲存空間,這時我們在給這個變數賦值的時候就是往這個儲存空間中放數值,也就是直接將數值寫到這個空間中,a就代表...

C語言中被調函式被定義為void以後還有沒有返回值返回給主調函式?

重樓 常規情況下,如果只讀取返回值的話沒有 但是可以用形參來傳遞返回值,或者全域性變數 非正規的方法就是用內聯彙編直接把指寫入eax在呼叫處讀取。 avoidant 很多初學者都以為return是動賓短語裡的那個動詞 返回值是賓語 但其實return是乙個主謂短語裡的謂語。主語是誰呢?是contro...