以下程式的執行結果是mainint a 31,2,3int num 3intp,i for i 0 i3 inum

2021-05-31 13:42:13 字數 3997 閱讀 9293

1樓:匿名使用者

應該是輸出1。程式是這樣的,先定義

了一個陣列a,並賦值。然後定義了一個指標陣列sum。在for迴圈中,使用了

num[i]=&a[i];語句,也就是,指標陣列的每個元素分別指向了陣列a的每個元素。前面定義的p,是指向指標的指標,也就是p指向了一個地址,而這個地址又執行了另外一個地址。執行p=num後,p就 指向了num陣列的第一個元素。

後面使用printf(「%d」,**p);輸出的時候,實際上就是輸出了陣列a 的第一個元素,就是1。

1.有如下程式, 該程式的輸出結果是( ) main( ) { int a[3][3]={{1,2},{3,4},{5,6 5

2樓:free發哥降臨

int main( )

,,},i,j,s=0;

for(i=1;i<3;i++)

for(j=0;j<=i;j++)

s+=a[i][j];

printf("%d\n",s);

a[2][2]沒賦值為0

3樓:匿名使用者

#include

void main ()

,,},i,j,s=0;

for(i=1;i<3;i++)

for(j=0;j

printf("%d\n",s);

}執行結果14

; 以下程式執行後,輸出結果是fut(int **s, int p[2][3]) {**s=p[1][1]; }main() {int a[2][3]={1,3,5,7

4樓:樂酷科技

程式是有點問題的

修改如下

專:#include

void fut(int **s, int p[2][3])void main() ,*p;

p=new int;

fut(&p,a);

printf("%d\n",*p);}

輸出為屬0

#include using namespace std; int main() { int a[10],b[10]; for (int i=0; i<10; i++) {

5樓:兄弟連教育北京總校

#include

usingnamespacestd;

intmain()

1.和2.的句子 為什麼可以作為 if(!

b)下的一個語句之所以可以作為一個語句,是因為程式塊的內部是if-else語句,else 是和離它最近且未和任何 else 配對的 if 進行配對的,雖然沒有使用{}進行限定,但是由於預設的if-else配對關係,會自動將if(!b)裡面的if-else配對,當作一個塊執行!

以下程式的輸出結果是 main() { int a[4][4]={{1,3,5},{2,4,6},{3,5,7}}; printf("%d%d%d%d",a[0][3],a[1

6樓:

a陣列雖然定義的是4x4的,但是初始化列表中僅僅初始化了其中3x3的部份,所以a[0][3]、a[3][0]的值都是沒有初始化的,是隨機值,所以選d

7樓:匿名使用者

正確答案bai是:a

解析:在按題du目中的語句對陣列zhia[4][4]賦值後dao,陣列中的各個元素值如專下:

第一行屬:1,3,5,0

第二行:2,4,6,0

第三行:3,5,7,0

第四行:0,0,0,0

因此,輸出的元素a[0][3]=0;a[1][2]=6;a[2][1]=5;a[3][0]=0。故選項為a。

以下程式的輸出結果不確定

8樓:倒黴熊

因為超出了a陣列的範圍了,

這裡*(p+5)就等同於a[5].

但是,很顯然,a陣列的下標最大到4,不會到5的,因為下標從0開始。

所以其值就不能確定了,也許0,也許是別的。

9樓:無憂網事

因為c語言陣列下標是

bai從du0開始計數的。定義陣列zhiint a[5],指定陣列a有dao5個元素,這5個元素從a[0]到版a[4]。程式中*(p+5),實際上權是a[5],指向陣列的第6個元素。

但是陣列a沒有第六個元素,*(p+5)這個引用超界了。這種超界,c語言不給出任何提示。

10樓:

p指向a[0]。所以p+5越界了。所以是不確定的結果。

下面程式的執行結果是( )。 main( ) { int b[10]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int *q=b;

11樓:匿名使用者

p是b的首地址,為int型,也就是第一個元素,p++表示下一個int型資料, 所以p+2 表示第三個元素即3 ,選擇c,

注意,這個跟資料型別有關,如果p為int,b為char, 一般的 int是16位,char是8位,即2倍關係,那麼這個時候p+(a)就相當於b+(2a)了,a是步長。

12樓:匿名使用者

q是指標,初始q指向陣列首位,q+2表示,從初始位置向後移動兩個元素,所有就指向了第三個,即3.所以選c

13樓:樂行樂

c.3int *q=b; b是b[0]的地址,所以q些時也指向b[0]

*(q+2) ); q[0+2]等於q[2]等於b[2];

有以下程式, #include main() {int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};int b[3]={0},i;

14樓:聽不清啊

#include

main()

,,};

int b[3]=,i;

for(i=1;i<3;i++)

b[i]=a[i][2]+a[2][i];

for(i=1;i<3;i++)

printf("%d",b[i]);

printf("\n");

}程式執行後的輸出結果是(1418)

這是因為b[1]=a[1][2]+a[2][1]=6+8=14b[2]=a[2][2]+a[2][2]=9+9=18而輸出時沒有空格,所以14與18就連起來了。

15樓:1997排長

a[i]是指a陣列的第i項元素,沒有什麼執行不執行的。

a[i]++就是把該元素+1了。

如果有這樣的語句:x = a[i]++; 那麼才是先把該元素賦值給 x,然後該元素自己+1。

注:a[i]++ 是個表示式,其值為 a[i] 的原始值,這個表示式求值後,a[i]自身+1。

16樓:徐鼕鼕

#include

int main ()

;for (i=1;i<3;i++)

for(j=i;j<3;j++) printf("%d",a[i][j]);

printf("\n");

}陣列a[3]是由a[0][0]~a[2][2]組成的,第一層迴圈取 i 為1,而j等於i開始就是a[1][1]=5,a[1][2]=6,第二層迴圈i為2,j等於i開始就是a[2][2]=9了,輸出結果是569.

17樓:

#include

main ()

;for (i=1;i<3;i++)

for(j=i;j<3;j++) printtf(」%d」,a[i][j]);//a[1][1]=5,a[1][2]=6,a[2][2]=9

printf(」\n」);}

以下程式執行後的輸出結果是maindouble a int b b a 10 4 printfd,f n」,b,a

10 4得到的是整數2,將2賦給a,在輸出a是顯示2.000000 如果要得到2.500000,需要10.0 4或10 4.0 這是因為10和4都是整數,兩個整數的商仍是一個整數,所以10 4是等於2而不是2.5 因為10和4都是整.所以結果也是整.你把10或是4其中一個加一個.0結果就會有小數了....

下面程式的運算結果是,下程式的執行結果是

執行後,會輸出 123 這個程式編譯都無法通過,所以會卡在編譯的地方 下程式的執行結果是 a此題中y,z為靜態變數,程式結束時才會釋放記憶體。第一次呼叫f1 時,內x a 1,z 3,y 0,執行y z 後y 1,z 4 所以返 容回x y z 1 1 4 6.第二次呼叫f1 時,x a 1,z 4...

c程式執行結果是

下面三句有問題 case 0 printf break case 1 printf break case 2 printf break 改為 case 0 printf break case 1 printf break case 2 printf break 執行結果 第一次錯誤是死迴圈和除數為0...