c語言程序段
發布時間: 2023-10-17 14:04:38
A. c語言中,程序段分析
同學,第一個答案確是是"y=0"原因如下,首先我們要說自增和自減運算符「++」和「--」,如果該運算符的位置在操作數之前,則操作數在進行任何計算之前就已經發生改變,如果運算符在操作數後面,則操作數在完成表達式的計算之後才發生改變,例如int
a=5,b=8,c;c=a++*b;
//"++"在操作數a後面,先計算a*b=40,賦值給c,然後a++,a值為6,c的值為40c=++a*b;
//"++"在操作數a前面,先a++,a=7,再a*b,c=56然後我們來看你給的程序,因為是y--,"--"在y後面,則先判斷while的條件,此時y=1,即true,為真,然後y--,y=0,然後輸出y:y=0;然後再判斷while,因為此時y=0,為假,跳出循環,結束。要注意順序,先判斷whlie,然後y--,若while條件為真,則執行while的語句。
若改成"--y"的話,則先計算"--y",y=0,再判斷while的條件,此時y=0,即false,為假,直接跳出循環,即什麼都不做,結束。
第二題,你要注意的是while的條件不是"k==1"而是"k=1",不是一個判斷語句,而是一個賦值語句。即while的條件永遠都是「k被賦值為1,然後k作為條件」進行判斷,此時k是1,即true,為真會永遠進行下去。
熱點內容