1樓:靠譜兒媽媽
1 .ad
2 .20,30,20
3 .3120
4.x值為1
5.1,3,3
有關於大學c語言問題
2樓:風若遠去何人留
int x=0,y=20,z=30
if(x||(y=50)>z)printf("y=%d",y);
else printf("y=%d",y);
求y的值
》這裡需要注意的是y=50這個是賦值。 所以先賦值y=50, 然後 判斷y>z也就是50>30成立。
執行上面一句列印,輸出y=50.
#include
int main()
{ int i=0,j=0,k=6;
if ((++i>0)||(++j>0)) k++;
printf("%d,%d,%d\n",i,j,k);
return 0;)》
按順序執行,首先++i>0
由於是前置自加,先自加,再取值。 i自加為1, 判斷1>0成立。
於是||的左值為真。 當||左值為真時,整體表示式((++i>0)||(++j>0))必然為真, 所以右值不會參與計算,即++j不會被執行。 這個在c語言中稱為短路運算。
表示式為真,執行k++, k值為7.
所以 最終 i=1 j=0 k=7
3樓:匿名使用者
第一題:
int x=0,y=20,z=30
if(x||(y=50)>z)printf("y=%d",y);
//x是0,||是短路徑求值的,即如果||的左邊已經為true,那麼是不會執行右邊的表示式的,如果左邊表示式是false,則會執行右邊的表示式,因此y是50。
else printf("y=%d",y);
求y的值
第二題:
#include
int main()
{ int i=0,j=0,k=6;
if ((++i>0)||(++j>0)) k++;
printf("%d,%d,%d\n",i,j,k);
return 0;
)求i,j,k的值
因前++是先對變數+1,然後返回+1後的值,結合上題所述的求值過程,因此++i是執行了,並且由於i變成了1,所以不執行++j,但是k++會執行,所以i=1,j=0,k=7.
4樓:匿名使用者
//第一題
#include
int main(void)
//第二題
#include
int main()
5樓:匿名使用者
y=50 ,i=1,j=0,k=7
大學c語言問題
6樓:匿名使用者
首先你要把整個結構弄清楚,&&的優先順序高於||,所以上面的式子等價於(--b&&++c)||(++a),
先看(--b&&++c),--b導致b的值為0,所以(--b&&++c)必然為假,所以c就不會加一了,c的值還是1。然後(--b&&++c)為假並不能直接斷定(--b&&++c)||(++a)的真假,因為||需要兩邊為假才是假,所以需要判斷右邊的(++a),這裡a自加一次變為2,(++a)為真,整個表示式(--b&&++c)||(++a)的值為真。最後a,b,c的值分別是2,0,1
大一新生的c語言問題
7樓:匿名使用者
#include;
int prodct(int a ,int b );
int main()
int prodct(int a ,int b )
大學c語言問題? 20
8樓:莊政警
b能執行, 正常結束
k是個int,k++會溢位到負數,然後k++會把k加到零,從而結束迴圈
9樓:朝華苼珠
a能進行是死迴圈,因為k一直為真
c語言有關paqp的問題,C語言 有關 p a, q p 的問題
p是一個一維指標,它指向陣列a的第一個元素a 0 p 會先取p當前指向的地址並做解引用得到a 0 元素的值,然後再將p指標移位指向相鄰的下一個元素 即a 1 元素 q是一個二維指標 可以理解為指標的指標 它指向了指標p,所以 q得到的是指標p現在指向的地址 即a 1 q相當於 p,由於上一條語句中,...
有關c語言的問題
c 後面沒有break pass輸出定了,然後warn也輸出了這個n 也說下吧 n 和 n 的區別這種 會出現2個值,一個是變數的值,一個是整個表示式的值在 n 裡面 變數的值就是n的值 進行自加之後 n d 但是整個表示式的值即 n 整個的值是 c 也就是說,n 是n的值自增了但整個表示式的值沒變...
有關C語言的,有關c語言的?
第4行改為 int x,y,z 8 12行 加入變數int result 0 case result x y case result x y case result x y printf result 有關c語言的?有關c語言 toss 函式演算法有問題吧?不知道你那個演算法是什麼意思,有什麼依據!...