C語言初級有以下程式段輸出結果是

時間 2021-06-17 08:04:51

1樓:

for(i=1;i<=15;j+=4)一定是給錯了,應該是for(i=1;i<=15;i+=4),取4個值1,5,9,13;

for(j=3;j<=19;j+=4) m++會執行5次m++,也就是m+5,j分別取3,7,11,15,19;

兩個迴圈是巢狀關係,合計執行為4*5=20。

2樓:匿名使用者

外層迴圈應該是

for(i=1;i<=15;i+=4)

i=1(i<=15成立):

j=3(j<=19成立): m++;(此時m=1)j=7(j<=19成立):m++;(此時m=2)j=11(j<=19成立):

m++;(此時m=3)j=15(j<=19成立):m++;(此時m=4)j=19(j<=19成立):m++;(此時m=5)j=23(j<=19不成立):

內層迴圈結束i=5(i<=15成立):

j=3(j<=19成立): m++;(此時m=6)j=7(j<=19成立):m++;(此時m=7)j=11(j<=19成立):

m++;(此時m=8)j=15(j<=19成立):m++;(此時m=9)j=19(j<=19成立):m++;(此時m=10)j=23(j<=19不成立):

內層迴圈結束i=9(i<=15成立):

j=3(j<=19成立): m++;(此時m=11)j=7(j<=19成立):m++;(此時m=12)j=11(j<=19成立):

m++;(此時m=13)j=15(j<=19成立):m++;(此時m=14)j=19(j<=19成立):m++;(此時m=15)j=23(j<=19不成立):

內層迴圈結束i=13(i<=15成立):

j=3(j<=19成立): m++;(此時m=16)j=7(j<=19成立):m++;(此時m=17)j=11(j<=19成立):

m++;(此時m=18)j=15(j<=19成立):m++;(此時m=19)j=19(j<=19成立):m++;(此時m=20)j=23(j<=19不成立):

內層迴圈結束i=17(i<=15不成立):外層迴圈結束所以雙重迴圈結束,輸出m的值為20。

從上面的分析可以看出,外層迴圈每執行1次,內層迴圈執行5次(即m累加5次)。外層迴圈一共執行4次,所以m的值20

3樓:匿名使用者

不對啊。第一個for迴圈的應該是i+=4

這樣外層迴圈4次 內層迴圈5次 m=20.。。。

4樓:

裡面的for迴圈執行5次,外面的執行4次,4*5即20

c語言 以下程式段的輸出結果是多少

5樓:xu水冰淼

printf輸出:bai110

第一括號du:1;zhi

第二括號:5

第三括號:5

第四括號:5

最後的三dao個括號填的內

值是有歧義的,容比如要是隻是那個條件,然後分別問:

int a[4]=,*p;p=a;此時*p的值是(      )int a[4]=,*p;p=a;此時*p++的值是(      )int a[4]=,*p;p=a;此時(*p)++的值是(      )

就應該是樓下的答案:5 5 5

6樓:德迷聯盟

ch的值是(    65  )。

duwhile(ch=getchar()==’

zhia’);

5、int a[4]=,*p;p=a;此時*p的值是(3      ),dao*p++的值是(      6     ),(*p)++的值是(     5    )。

這是編譯器運內行出來的結容果。

7樓:窮圖末錄

110155

5注意++後置

8樓:匿名使用者

110,1,

5,3.6

c語言題目:下面程式段的輸出結果是什麼? 15

9樓:匿名使用者

答案是0

int k沒有初始化,所以初始值不確定,但是int型別 4個位元組(範圍是-2147483648~2147483647). 所以在計算k的值時候,從起始地址往下數32位, 超出32位的會被截斷

如果是正數,那最後就是0,很直觀

如果是負數(8個位元組來看)

0xffffffffffffffff === -10xfffffffffffffffe === -20xffffffff80000000 === -21474836480xffffffff7fffffff === -2147483649但整型4個位元組,所以對於-2147483649,它計算0x7fffffff的大小,變成了2147483647,回到正數,最後為0

10樓:匿名使用者

如果正確答案是a;那麼那個老師是有問題的;c語言中出現這種情況,答案是d才對

11樓:知道嗎

你沒賦值,預設數值為0 的

一道c語言題:下面的程式段執行後,輸出結果是

12樓:匿名使用者

答案是0;

int i,j,x=0;

static int a[8][8]; //定義的bai時候系統自動初du

始化,把陣列中zhi所有的元dao素都賦成0;

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

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

a[i][j]=2*i+j; //將陣列右上角的回3x3的子矩答陣賦值;(注意,此時結束時j的值是3)

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

x+=a[i][j];//這裡j的值是3,所以相當於把a[0][3] a[1][3] a[2][3]到a[7][3]累加到x上,而在上面的賦值中又沒有給這些值賦值,所以這些值都是0;而x的初值也是0,所以最後輸出的x應當為0;

printf("%d",x);

13樓:匿名使用者

用來static定義陣列,就已經給陣列初值了源,即使所有的值均為0.

你用for在給陣列賦值的時候,只給了a[0][0]至a[2][2]的值,即那些值現在已經有變化了.在經過兩個for之後,j的值應該變為了3.

那麼再經歷下一個for,應該執行的語句就是x+=a[i][3],可想而知,不論你經歷多少次迴圈,只要j是3,那麼些a[n][3]就是0.因為第3列根本就沒有變化過.值仍舊為0

所以結果為0

14樓:匿名使用者

static int a[8][8], a中的每個元素都是0

第三個for的時候 j=3, a[i][3]都是0,所以結果是0

15樓:匿名使用者

是0 e:\case.win\nasm>gcc z.c -o z.exe

e:\case.win\nasm>z

0 e:\case.win\nasm>

#include "stdio.h"

int main()

c語言,以下程式的輸出結果是,C語言問題 以下程式的輸出結果是?

輸出1 3 這是遞迴了,所以先是fun 3 進入後發現3 2 1,所以又繼續func 3 2 也就是fun 1 進入發現1 2 0,就執行prinft,輸出1,然後fun 1 就返回了 返回出去正好是fun 3 的prinft,輸出3 進入fun 3 進入fun 1 輸出1退出fun 1 輸出3退出...

以下程式的輸出結果是,C語言問題 以下程式的輸出結果是?

c語言函式引數都是單向傳遞的,直接傳值是不可能改變原來的數值的。此題答案30,20 你的printf好像有點問題 include void fun int p1,int p2,int p3 main 按lz所寫 輸出為30,20,因為函式的引數為所宣告變數的副本,這樣不會改變原有的變數。如果想改變原...

c語言以下程式的輸出結果是a為什麼

輸出結果是字元z 位元組是20是因為 10 定義了你為x資料組準備了10個位子,沒個位子可以存放乙個資料 佔2節 10 2 20 位元組 printf c 由於沒有輸出列表所以c編譯器不知道是列印哪個變數裡的值 他產生的當然是個隨機數.假定int型別變數占用兩個位元組,其有定義 int x 10 則...