1樓:匿名使用者
通過for迴圈bai陣列s裡面的四個元素的dua屬性,分別被賦值zhi為了5,7,9,11
printf("%d", (p++)->a);
相當於1. printf("%d", p->a);
2. p = p + 1;
而printf("%d", (++p)->);
1. p = p+1
2. printf("%d", p->a);
這就是dao說這兩步的執內行順序不同。
p 剛開始指容向了s[1]
所以第一個printf,輸出的是s[2]->a也就是9第二個printf輸出的也是s[2]->也是9,輸出之後p指向了s[3]
所以答案應該選a
2樓:天雲一號
選a執行for迴圈後s.a=
p=&s[1];說明p指向了s[1],即p->a=7;
執行printf("%d,",(++p)->a);等價於執行printf("%d,",(p+1)->a);即輸出
內9執行printf("%d,",(p++)->a);等價於執行printf("%d,",(p)->a);即輸出9因為此時
容p指向了s[2]
ps: (++p)->a與(p++)->a的區別就是前者是p的地址先加1之後再輸出,後者是先輸出再將p的地址加1
a[i--]和a[--i]所指的元素分別是a[i]和a[i-1] 這個是對啊
求解一道c語言填空題:以下程式執行後的輸出結果是()
3樓:oo戼爫爫
做這道題首先要知道牽涉到的連結串列。結構體等知識,主函式前定義的就是結構體,我做出來的答案是5
4樓:匿名使用者
程式前面加一句:#include
sun=0x0005
5樓:匿名使用者
s0的下一個指向s1,s1的下一個指向s2,s2的下一個指向s0,p指向s0,q指向s1,r指向s2,所以sum=q->nextt->num(即s1的num--2)+r->next->next->num(即s2的num3)=5
最後答案5
c語言結構體一道題習題,求詳解
6樓:匿名使用者
結構體陣列賦值後復為制:
x[0].num = 1;x[0].name="usa";
x[1].num = 2;x[1].name="usa";
x[2].num = 3;x[2].name="france";
.....
p是指向結構體的指標,p = x + 2 就相當於:p = x[0 + 2] = x[2];這時,p指向x[2]所在記憶體,p->num中->是指標訪問它的變數的運算子,p->num就是x[2].num,就是3了,(*p)就是相當於把p指向的記憶體取出裡面的資料,那麼就變成了非指標變數,然後用「.
」運算子訪問它的變數name陣列,x[2].name為"france",第一個f下標是0,那麼下標為2的字母是a,答案就出來了。。。。。。。
電氣三班c語言選擇題
C語言 選擇題 9,C語言 選擇題
c語言 選擇題 第一個題 那個賦值過程是從右向左的。a a a 先進行這裡的時候,a的值就為9 9 9 9了而再進行 a a a a 就是a a 而因為上一步的時候a都為 9.所以此時a結果就為 9 9 18 所以結果為 c 18 第二個題 從右到左。一開始的20 3的時候,就是一個整形除另一個整形...
c語言選擇題
c 選擇題集 1.下列的各類函式中,不是類的成員函式。c a 建構函式b 解構函式c 友元函式d 拷貝初始化建構函式 2.作用域運算子 的功能是 b a 標識作用域的級別的b 指出作用域的範圍的 c 給定作用域的大小的d 標識成員是屬於哪個類的 3.下列說明中const char ptr 其中ptr...
C語言選擇題
1 呼叫strlen abcd oef 0g 的返回值為 a strlen不返回null 2.若有以下語句,則正確的描述是 c 3.設有陣列定義 char array china 則陣列array所佔的空間為 c 在開拓儲存空間是時候有一個null,這要算進去4.下列程式執行後的輸出結果是 a pr...