以下程式段中的變數已正確定義for i 0 j4 iifor k 1 k3 kprintf程式段的輸出結果是

2021-03-29 13:01:31 字數 3459 閱讀 1062

1樓:聽不清啊

for(i=0;j<4;i++,i++) for(k=1;k<3;k++); printf("*");

程式段執行的結果是不進入迴圈,或陷入「死迴圈」(根據j的初始值而定)j的初始值若非0,則陷入「死迴圈」,不停地輸出 *j的初始值若==0,則不進入迴圈,沒有輸出

2樓:匿名使用者

第一層迴圈沒有結束條件,會一直迴圈下去(死迴圈),第二個迴圈後面有個分號,是個空迴圈,所以機器什麼也不做,只在那裡空迴圈著

如果你是打錯了,第乙個for語句中有乙個是j++的話,程式只列印乙個*,因為你在第二個for語句後加了分號,printf語句不屬於for迴圈了,只執行一次。

3樓:天昊的回憶

這是一段錯誤的** 幾乎沒有乙個地方是對的錯誤1:j的初始值是多少?好 如果有初始值 j沒有變化 則這個迴圈要麼根本不會執行(j>4)要麼無限迴圈(j<4)

錯誤2:你兩個for後面是; 也就是說這個迴圈體是空語句 也就是啥也不執行

好吧 我先容一下錯 就當你少寫乙個j=0 其中乙個i++是j++,這樣的話 你的結果永遠都是乙個* 因為這個迴圈體沒有一點兒作用

以下程式段中的變數已正確定義 for(i=0;i<4;i++,i++)for(k=1;k<3;k++);printf("*");程式段的輸出結果為?

4樓:嫩草芽

剛才傻傻的拿去執行了一下,看了一下結果愣了。。

。。你兩個for之間加「;」幹嘛。。。

結果很簡單就乙個*

兩個for之間加了「;」意思就是for迴圈完了,也就是執行了但是不出結果;

剛寫了個程式,回去研究好了迴圈就基本沒問題了:

#include

void main()

j=k-2;

k=j;

cout<

用的是c++語法,cin cout 換一下,加一下頭檔案就是c程式。或者建乙個cpp執行就行

以下程式段中的變數已正確定義 for(i=0; i<4; i++, i++) for(k=l; k<3; k++); printf("*");

5樓:倒霉熊

輸出為乙個 * 。

for(i=0; i<4; i++, i++) for(k=l; k<3; k++); //看到這裡分號沒。

其實這是乙個雙重迴圈,但是迴圈語句是空的。就是說一直迴圈,除了迴圈變數變化外,其他沒有什麼變化。

printf是乙個單獨的語句,和迴圈沒有什麼關係。

6樓:匿名使用者

是不是打錯了,假如是這樣的話就輸出乙個 " * " 啊。因為你的for後面有乙個分號。假如沒有分號的話就輸出"****".

因為有一層迴圈做了2次和二層迴圈做了2次。所以一共做了4次。

7樓:匿名使用者

i = 0時,k可以 =1、2,輸出2個 *

2次 i++ 得到 i = 2,k可以 = 1、2,輸出2個 *

因此答案為 ****

8樓:匿名使用者

把兩個i++合併為i+2

若所用變數都已正確定義,請填寫以下程式段的輸出結果【1】.for(i=1;i<=5;i )

9樓:15826044359心

在for(i=1;i<5;i++)後有乙個;號 這條語句已經停止了,就只執行下面的輸出ok 不會出現迴圈的情況

10樓:匿名使用者

int n = getcount(a);

int i;

//print(a, n);

insertionsort(a, n);

//print(a, n);

for(i=0;i<4;i++,j++) for(k=1;k<3;k++) printf("*")

11樓:匿名使用者

k是1,2兩次迴圈,可以輸出兩個星號

i是0,1,2,3四次迴圈可以執行k迴圈4次

總共是輸出8個星號

12樓:某岑

i的迴圈可以輸出兩個*(0和2)

k的迴圈可以輸出兩個*(1和2)

所以一共有四個*

for(i=0;1<4;i++;i++) for(k=1;k<3;k++) printf("*"); 結果是 * 為什麼呀?

13樓:匿名使用者

**有誤,正確為:for(i=0;1<4;i++,i++) for(k=1;k<3;k++) printf("*");

輸出內容為:****

內迴圈每次迴圈兩次,即k=1和k=2的時候,輸出乙個*;外迴圈共執行2次,即i=0和i=2的時候,因為執行了兩次i++,所以不會有i=1和i=3的情況,所以共輸出2×2=4個*

截圖如下:

14樓:你嘻哈

首先**有誤應該為:

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

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

printf("*");

第一次運

行i=0,k=1,輸出乙個星號,k=2,輸出乙個星號,然後執行i++,i++後,i=2.

第二次執行i=2,k=1,輸出乙個星號,k=2,輸出乙個星號,然後執行i++,i++後,i=4,不滿足條件結束迴圈。

總結:兩個i++照樣加兩次,由於第乙個for迴圈後面沒有迴圈體也沒有分號結束,所以會繼續執行下乙個for迴圈,而第二個for迴圈有迴圈體,有分號,所以當i=0和i=2時會分別執行兩次每次輸出兩個星號,一共4個星號,結果如下。

15樓:匿名使用者

正確**:for(i=0;i<4;i++,i++) for(k=1;k<3;k++); printf("*");

結果是:*

解析:由於第乙個for語句沒有具體的執行語句,故當i=0時,k=1時,執行一次語句 printf(「*」);,程式便會跳出整個迴圈,故執行結果為乙個星號。

16樓:倒霉熊

這誰知道 i的初始值是多少??

如果i的初始值是0的話:

則 i迴圈了 i=0 一次 i=2一次 迴圈了兩次每次i迴圈中 k迴圈了 k=1 k=2 兩次那麼 總共輸出 4個 *

17樓:黃泉聖體

從你給的**來看,沒有前面的,但是只有乙個 printf("*") 所以結果是*

18樓:匿名使用者

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

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

printf("*");

你想問的是這個程式吧!

結果為:**

****

**如果是你上面所寫的程式,那程式本身寫的就有問題!

若所用變數都已正確定義,請填寫以下程式段的輸出結果 for i 1 i5 i

在for i 1 i 5 i 後有乙個 號 這條語句已經停止了,就只執行下面的輸出ok 不會出現迴圈的情況 int n getcount a int i print a,n insertionsort a,n print a,n 以下程式段中的變數已正確定義 for i 0 j 4 i i for ...

c語言執行以下程式段後變數a的值是

條件a b a b a a是這樣執行的,a b 3,a 先判斷在自增,判斷為0,自增後為1,因為判斷為0,所以邏輯短路,後面的也就不判斷了 switch裡面是0,所以case 0執行成功,也就是說從case 0後面的語句都要執行,知道遇到break a case 1 b case 2 a 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 三個...