有以下定義int a 0 double b 1 25 char c Adefine d 2下語句中錯誤的是A aB bC c D d

2021-03-30 15:20:22 字數 4167 閱讀 9519

1樓:匿名使用者

d錯誤。

int,float,double和char都可以進行後自增操作,d是#define的常量,執行d++等價於

2++,常量不可以自增,是錯誤的。

2樓:匿名使用者

哥們。這是倆個執行結果

答案不一定是對的

#include

int a=0;

double b=1.25;

char c='a';

#define d 2

int main(int argc, char* argv)

3樓:匿名使用者

答案是錯的哇,double和float型別能進行自加運算...那abc都是可以自增的,那個d就不行, #define d 2說明d代表了2,不能改變,要改變只能只定義的時候去改

4樓:

double和float型別不能進行自加運算...

5樓:

d是錯誤的!#define d 2說明的d=2是常數,在這個程式中是不能變更的!

6樓:胖胖丶不胖

是b啊~~

a++=1;

c++=『b』;

d++=3;

b是double型別,不能自加

有以下定義int a=0; double b=1.25; char c=』a』; #define d 2下語句中錯誤的是a)a++; b)b++ c)c++d d++

7樓:幻☆天芒

d是錯誤的,因為d是常量,如果能執行d++,就改變了d是值。

8樓:摩羯

樓上的是對的,但是呢還是不夠清楚的說明問題。補充一下:

d選項中,那定義的是乙個常量,而在程式中常量是不允許被改變的

至於c選項中的c,是個字元型變數,是可以累加的

9樓:匿名使用者

d是錯誤的,相當於2++,數字是不能作為左值的。

10樓:磊無敵

很明顯是d,2樓說的很對,定義的巨集是屬於常量的,不是變數

設有以下定義,則下面給出的語句中錯誤的是 int a=0; float b=1.25; char c='a'; #define d 2

11樓:青春永駐

c是錯誤的,因為a+b是常量了,

12樓:風車節姑姑家

選c,是因為增一減一是一元運算子,只需要乙個運算元,而這種運算元必須是變數,不能是常數或者是表示式。而c答案(a+b)就是表示式了

以下哪個是錯誤的 a:int a[7]; b:#define n 5 long b[n] c:char c[5] d:int n,d[n]

13樓:修改暱稱然後解除安裝笑嘻嘻

d是錯的

int n,d[n]

n不是編譯期常量

是錯的不過有的編譯器也支援這麼做

14樓:

d是錯誤的,定義陣列的時候,陣列個數必須是常量。

15樓:匿名使用者

下面的都是錯的

b:#define n 5 long b[n] 1. #define 語句必須單獨一行; 2. 語句結尾無分號

c:char c[5] 語句結尾無分號

d:int n,d[n] 1. n 未初始化; 2. 陣列長度不可以使用變數; 3 語句結尾無分號

以下程式的執行結果是()#includemain() {int a=1 ,b=2,c=3,t=4; while (a

16樓:

答案應該是121,第一次執行,a=2,b=1,c=2時a<b<c相當於2<1<2

當2<1時不成立為0,0<2成立為1,繼續執行大括號,結果為121

17樓:睡不著想你了

答案是1,2,1

#include

main()

printf("%d,%d,%d",a,b,c);

}這個程式的難點在於while (a

18樓:小特侖蘇的憂傷

我覺得答案是4,1,1

在比較a

19樓:陳世衝

1、2、0

做了兩次c--

設有預處理命令define d 2和定義int a=10;long b=20;char=『a』

20樓:小菜呀小菜

預處理的意思是把**中所有的d替換成2,所有d選項最終會變成2++,所以是錯誤的。

至於c,這個涉及資料的型別轉化,char會隱式的轉化成int進行計算再轉化成char。

參考

21樓:

d是錯誤的,選d。因為d是常數,不可做左值。

c語言 有以下定義和語句 char c1='b',c2='e'; printf("%d,%c\n",c2-c1,c2-'a'+"a"); 則輸出結果是__ 20

22樓:匿名使用者

輸出結果為:3,e。

解析:c語言中的字元型別是用 ascii 碼儲存運算的回,運算 c2-c1時,等答

於 'e'-'b',等於'e'的 ascii 碼 101 -  'b'的 ascii 碼 98,等於 3 ,又因為 printf 輸出式樣化字串中使用規定符%d輸出,所以是直接輸出整型資料 3。

而運算 c2-'a'+"a"等價於 'e'-'a'+"a",等價於'e'的ascii 碼-'a'的ascii 碼+"a"的ascii 碼='e'的ascii 碼。而printf 輸出式樣化字串中使用規定符%c輸出結果,說以是輸出字元 e。

因此,最終輸出結果為:3,e。

23樓:匿名使用者

字元會被轉成asc碼當整數計算!!!c2-c1 = 'e'-'b' = 3;中間相隔三個嘛,連續的字元肯定是相隔1的,不然就專

不符合屬設計原理!! c2-'a'+'a' 不用想,肯定是小寫轉大寫,應該是'e'; 乙個大寫字元和小寫字元做差,就是大寫字元和小寫字元之間的asc碼差碼!!再加上乙個小寫字元,就是小寫轉大寫

24樓:匿名使用者

應該是printf("%d,%c\n",c2-c1,c2-'a'+'a');

c2-c1='e'-'b'=3

c2-'a'+'a' = 'e'

輸出結果為3,e

#define printf int a=10,b=23; char c='a'; printf("%d,%d,%c",a,b,c);

25樓:jyw金

答:這個巨集是用來向螢幕輸出資料的。這樣定義能是巨集安全的做單一的工作。

如果#define printf printf 這樣定義就好啦

26樓:庚花芳

#include"stdio.h"

#define max(x,y) (x)>(y)?(x):(y)main()

錯誤原因:

7>6 ? 7:6*10 結果為 7

你按我上面的修改就行了. 其實你 為什麼要用巨集,直接把巨集變為函式也行的.

或者 你這樣定義巨集

#define max(x,y) ((x)>(y)?(x):(y) ) //只是加了括號"()"而已

這樣也可以達到目的.

27樓:柳小朵兒

難度太大了,沒見過。

什麼是對聯 下定義 ,什麼是對聯?

對聯是利用漢字特徵撰寫的一種民族文體。一般不需要押韻 律詩中的對聯才需要押韻 對聯大致可分詩對聯,以及散文對聯等。傳統對聯的形式相通 內容相連 聲調協調 對仗嚴謹。秦漢以前,我國民間過年就有懸掛桃符的習俗。所謂桃符,即把傳說中的降鬼大神 神荼 和 鬱壘 的名字,分別書寫在兩塊桃木板上,懸掛於左右門,...

設有如下定義 int pp 100則printfd ,p的輸出結果是100,對麼?為什麼

int p p 100 則 printf d p 的輸出結果是100是不對的,p宣告為乙個int型指標,但是沒有指向具體的記憶體空間。int型別在記憶體中佔用了4個位元組,也就是32位。int型別是有符號的,因此,32位並不會全部用來儲存資料,使用最高位來儲存符號,最高位是0,提示資料是正數,最高位...

關於別太早下定義的名言,不要過早下定論的名言

三思而後行 南齊書 公冶度 季文子三思而後行。子聞之,曰 再,斯可內矣。知彼容知己,百戰不殆 孫子 謀攻篇 知彼知己,百戰不殆 不知彼而知己,一勝一負 不知彼,不知己,每戰必殆。深思熟慮 魏書 程駿傳 且攻難守易 則力懸百倍 不可不深思 不可不熟慮。在事情還沒有弄清真相之前,請不要早下結論。中國著名...