1樓:匿名使用者
答案:a.123
詳解抄:首先題目定義了
乙個bai字元陣列s,其中存du放了字串"123",隨後定義了字元型指zhi針p,並且dao使p指向字串s.
之後,題目開始輸出結果,注意輸出方式*p++,這是本題關鍵所在,根據運算子結合順序,先輸出*p,也就是字串第乙個字元"1",之後執行p++,指標後移指向字元"2",之後的兩次輸出同理。
希望能幫助到你。
2樓:金城杞人
答案就是a,說b的上個執行結果截圖啊
後自增是先使用再增加。
p開始指向字元陣列第一項 s[0]。
修改一下,編譯器不同結果不同。
3樓:現實夢幻者
答案源是b
原因就是,printf的執
bai行順序,因為它的執行順序是從右向左,再du從左往右輸zhi出
並且後dao置++,會重新開起一塊記憶體來存放原值,所以前面的值直接讀取存放的,如果不是指標,是數值需要注意
當然這裡是指標,每個都有它的位址,直接是把結果儲存了所以3 2 1
4樓:
陣列指標沒有任何變化,輸出都是111。。
因為指標p是指向了第乙個字元1,而%c是讀入並列印出來一回個字元。。而printf中*p意思是答s第乙個值,讀入到列印函式,列印到螢幕完了然後把這個讀入值+1,而陣列指標值還是沒有變的,總是指在1的位置。
可以用下面更改程式驗證:把其中乙個變成前++#include
main()
++*p,讀入數值+1·,最後結果是2,1,1。。說明*p只是第乙個字元值,而原陣列指標是沒有變化的。
5樓:
應該選b。
程式結果:
解析:*p 表示p是乙個儲存位址的變數
在這個程式中專當執行完p=a;時,*p為屬"1",*p++也為"1"
*p++和*(p++)相同
printf的執行順序是從左到右
*p++是把*p儲存的位址+1,而p的儲存位址是陣列的第乙個,所以相當於把p的指標往後移一位,也就是說把p指向的陣列的位置往後移一位。所以就是321
6樓:三天打魚
321 選b
p指向字串s首位址
那個呼叫函式是從右到左執行的 所以先執行最右邊的*p++ 得到1函式的引數壓棧是從右向左執行的……
c語言選擇題,求詳解
7樓:匿名使用者
正確答案是a
a: p是字串指標,用法沒有問題;
b: a是字元陣列,不能作為左值被賦值,語法錯誤;
c和d: *p、*a是字元型別,不是指標型別,卻被賦了乙個指標型別的值,肯定得不到預期的結果
8樓:擁抱
選項a是正確的。
解釋如下:
p是字串指標,它是乙個變數,可以被賦值,指向新的位址。
a[5]是乙個字串,a指向這個字串的首位址,而且它是乙個常量,除了初始化的時候能賦值之外,不能再被賦值了。
*p是取到指標p的位址的值,*a是取得字元陣列a[5]的首位址的值,這兩個都是int型,後面的字串也根本無法給它們賦值。
c語言選擇題求詳解
9樓:匿名使用者
c因為有(),所以ptr先與*結合,所以ptr是指標。剩下的成分回
用來說明ptr是什麼指標。因為剩答下的成分是int [m],是乙個具有m個int型元素的陣列形式,所以ptr是乙個指向具有m個整型元素的一維陣列的指標。
c語言選擇題乙個,求詳解
10樓:半世迷離的沉浮
a 是對的,換行會看的更加清晰。
#define size 10 //把size的巨集定義為10
char str1[size]的意思
就是char str1[10]
char str2[size+2]的意思就是char str2[12]
b,char str;裡面應該要放入具體的容量,比如 char str[10];
c,int num['10']是錯誤的,int num[10]是對的。
d是錯誤的,c語言不允許這種寫法,不允許定義的變數出現在陣列裡,因為變數值的改變,就會導致陣列的破壞,這樣會破壞程式的健壯性。
乙個簡單的c語言選擇題求詳解
11樓:
全是錯誤的。
a——雖然書寫格式沒有錯,但既然有空的,就得初始化,以使編譯器知道應該是幾。
b——只可以靠近陣列名的那乙個空著,就是說書寫格式都錯了。
c——道理同b。
d——除了靠近陣列名的可以空著,其他的都不能空著。
c語言一道選擇題求詳解
12樓:匿名使用者
這個程式就是求50~60之間的素數並輸出。
一共找到兩個素數53、59,因此輸出為5359選a
c語言,**裡的選擇題,求詳細解析。
13樓:匿名使用者
該字串常量"\123\n4567"佔記憶體位元組數應該是7,故選擇d。
其中:\123 是乙個八進位制轉義字元s
\n 是乙個轉義字元:換行符
4567各乙個字元,共佔4個位元組
字串在記憶體中儲存時最後還有乙個結束符'\0'
這樣加起來一共1+1+4+1=7個位元組。故應該選擇d。
c語言,1,**裡的選擇題求詳細解析
14樓:自我程式設計
feof的返回值就來是源2種,一種是0,還有一種非0值。
bai注意feof從檔案開始du一直讀到檔案結zhi束符號daoeof,返回值都是0,也就是null。(包括讀eof)。
只有當讀完eof之後,才變成非0值。
那麼題目中說已經讀到檔案末尾,再執行feof就會返回非零值。選c。
下面我寫了乙個簡單的測試**,這樣你能看明白點。
我檔案中的內容是"1234"四個字元。
其中讀取的值-1,就是eof,可見讀到eof時返回的還是0(null)。
但再呼叫feof,返回值就變成16。
#include
int main()
printf("feof=%d ",feof(fp));
fclose(fp);
return 0;}
15樓:匿名使用者
feof你可以理解為返回bool
C語言選擇題234題,求大神幫忙解答,給出具體解題分析和解題
2 當x和y同小於等於0時,值為真,否則為假。只有d符合。3 a 2 3 10 11 10 2 b 1 1 10 2 c a 2,當a等於2時為真,a不等於2時為假d 1 3 1 11 10 2 4 這句話的意思是p指向a陣列中下標為1的元素,也就是3 c語言程式填空題,答案已給出,求大神指點,具體...
c語言 選擇 求教 關於指標,C語言 選擇 求教 關於指標
樓上說的不對,變數宣告了當然是可以取位址的,是可以用 的,1 是錯的是因為int a,p,q,p q a p q a前面是個逗號,也就是說,先宣告int p,後面又宣告 int p,也就是將變數p宣告了兩次不同型別,所以是不對的,4 是對的,所以選d 好吧,我說的樓上樓上。全部都是錯的,這一點是完全...
C語言傳值傳址選擇題,C語言傳值傳址選擇題
這是c 啊,好吧雖然用的是c語法而已你也說了啊,是傳值呼叫,傳值呼叫的特點是什麼?形參永遠是實參的副本,即形參的任何動作都不會影響實參本身 基於此,swap str函式形參指標ab無論值為多少,原實參str a,str b都不會發生變化啊,但是實參指標指向的內容就不一定了,此處是也沒有變化 p.s....