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

2021-06-17 08:04:54 字數 3496 閱讀 1478

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語言問題!若有以下程式 輸出結果是?include main int argc,char argv 主函s是程式名,所以不列印.現在dos提示符下鍵入s aa bb cc後字...

c語言以下程式執行後的輸出結果是

選a。因為strlen 函式不計算 0 所以其統計數字較sizeof少乙個。c語言,以下程式執行後的輸出結果是 c a a 5 是乙個 表示式,a b,b 3 是另乙個表示式。a 0,a a 5 5,a a a 5 5 10,將值賦給c,c 10,此時,a 5 a b,將b的值賦給a,a 0,執行b...

以下程式段的輸出結果是chars

字串為 141aabc 表示 t水平製表符,不顯示 長度為9 表示符號 141表示十進位制的97,ascii碼的a t是水平製表符 有以下程式段,輸出結果是 char s 141 141abc t printf d n strlen s char s 141 141abc t 轉義字元 141 三個...