❶ c語言while ( *q ) q++; q--;是什麼意思
while沒有大括弧,作用域只對下一句代碼有效。所以q++在循環中,q--在循環外。
循環條件是*q,也就是說只要q指向的地址的值不是0,q就一直++。直到*q變0,循環結束,執行一次q--。
❷ 在C語言中,char *q = "hello world"; printf( "q = %q",q);中,在輸出時%q代表什麼
若把%q改為%s的話,那它的意思就是:把%s按字元串的形式替換為結果。%d和%c分別是按整型和字元型替換為結果。
❸ 在C語言中 int &q 是什麼意思
引用:可以理解為別名
例如
int
i
=
1;
//定義一個i
int
&q
=
i:
//給i取了一個別名
叫
q
q=
2;
//這里給q賦值為2,由於q是i的別名,操作也就相當於操作i,所以此時的i變成了2
引用實際內部實現也是用的指針,但是和指針又有區別,雖佔4個位元組,但是一般理解不佔內存
❹ c語言的問題,這個結果中的q怎麼解釋,是8+8+8嗎運行之後結果怎麼是22
q的值應該為22,由右向左計算,先計算第一個加號,由於括弧優先順序小於前++,所以先計算兩次前++,結果j=7,而後,7+7=14,再計算第二個加好,還是同理,第二次就是14+8=22,
所以q的值為22
還有~~不要聽樓上瞎說,對於這種表達式的計算,標准C是給出了明確說明的,跟編譯器實現無關,除非他的編譯器版本太低了,不支持新的標准C~~~
再補充一點吧~~~~
標准C 的出台是為了做什麼事情的
就是為了將不統一的編譯器實現統一化,允許有小的差別,但是自標准C出台後,凡是標准C規定的實現方式,編譯器生產廠商就要去進行實現。這樣做的好處顯而易見,就像我們現在世界的國際語言,大家都選擇英語,允許你發音有點區別,但是不能區別太大,能正常交流就沒有問題~~有點說跑了~~~理解就行~~~ 還有~~~VS是微軟的東西~~~大家都知道,標準是哪裡來的?誰是老大誰說了算~~~微軟常常是這樣,先自己弄一套東西,不聽大家的標准,自後弄得大家非常不好過,就連標准也改了~~~~但是不管怎麼樣~~現在大部分的編譯器還是遵從標准C的~~~不要拿微軟的東西來說事情~~~~
❺ C語言中q=&b是什麼意思
這個q應該是一個指針吧!把b的地址賦給指針q,舉個例子:
假如b在內存中的存儲位置是2000的話,執行完這條語句之後,q就指向了b,也就是說q的地址值也是2000.
❻ 在c語言中指針*q=&a和q=&a和*q=*a各自是什麼意思
先說一下這幾個運算符的意思:*在定義變數的時候作用是聲明這是一個指針變數,再其它地方是用來定址的;&是取地址運算符,可以獲取一個變數在內存中的地址;
然後說你提到的這三句話:
*q=&a
這句話應該是出現在定義變數q的時候,可以這樣寫:
int a;
int *q = &a;
這里,*的作用是聲明q是一個指針變數,&的作用就是把a的地址取出來,通過賦值號「=」,賦給指針q;
q=&a
這句話是出現在定義變數之後的,可以這么寫:
int a;
int *q;
q = &a;
這里q已經在定義時被聲明過是一個指針變數了,在使用的時候不需要附帶*,這句話的意思也是把a的地址賦給指針q;
上邊這兩句的效果其實是一樣的。
*q=*a
這樣的話,q和a這兩個變數就都是指針變數了,這里的*不代表「聲明」,而是「指向」,意思是把a指向的那個變數的值賦值給q指向的那個變數;這么說吧,如果有這樣的定義:
int x = 2,y = 3;
int *a,*q;
a = &x;
q = &y;
到這里為止,定義了兩個整型變數xy和兩個指針aq,a指向x,q指向y;
*q = *a;
執行完這句之後,q指向的值,也就是y的值,已經等於了a指向的值,即y這個時候也等於2了。
❼ C語言 struct {int a; char b; } Q是什麼意思
"struct {int a; char b; } Q" 這個定義是錯誤的,結尾錯少分號==>完整的應該是這樣的
typedef struct
{
int a;
char b;
} Q;
或者
struct Q
{
int a;
char b;
} ;
這個意思是定義一個結構體類型Q 包含兩個成員,一個是整型的a, 另一個是字元型的b.
定義後就可以通過Q來聲明該結構體類型的變數;
Q q; //聲明q
q.a = 65; //給q變數的a成員賦值
q.b = 97; //給q變數的b成員賦值
大致就是這樣的。
❽ c語言中b代表二進制,q代表八進制,d代表十進制,那麼什麼字元代表十六進制呢
H: hexadecimal 十六進制的
其他進制的代表字元:
B: binary 二進制的
Q: quaternary 四進制的
D: decimal 十進制的
O: octal 八進制的.
(8)c語言中q是什麼意思擴展閱讀:
表示方式
C語言、C++、Shell、Python、Java語言及其他相近的語言使用字首「0x」,例如「0x5A3」。開頭的「0」令解析器更易辨認數,而「x」則代表十六進制(就如「O」代表八進制)。在「0x」中的「x」可以大寫或小寫。
對於字元量C語言中則以x+兩位十六進制數的方式表示,如xFF,同時也以H: hexadecimal 代表十六進制的。
❾ c語言中*p 丨丨*q是啥意思
*p
丨丨*q
首先這里p和q均為指針,可以為int、short
int、char等數值類型。
然後*p
和*q分別為p、q兩個指針所指向的內容,這里設*p=m
*q=n(假設為int型)。
則*p
丨丨*q為一個邏輯或語句,幾m||n,其真值(邏輯結果):
m或者n有一個不為0,則結果為真
否則結果為假