2014-01-25 29 views
0
#include <stdio.h> 

    void main() 
    { 
     int k = 8; 
     int m = 7; 
     int z = k < m ? k = m : m++; 
     printf("%d", z); 

     k = 8; 
     m = 7; 
     z = k < m ? m++ : k=m; 
     printf("%d", z); 
    } 

輸出爲什麼在使用賦值運算符時,在else部分中,if-else是否需要使用簡單值?

Compile Error: 
main.c: In function 'main': 
main.c:19:32: error: lvalue required as left operand of assignment 
     z = k < m ? m++ : k=m; 
          ^
  • 爲什麼第一次分配工作和第二個沒有?
  • 爲什麼編譯器會告訴左值是必需的?
+0

也許你應該先問「什麼是左值」! – Shahbaz

+0

爲什麼問?只是谷歌它... –

+0

Stackoverflow不允許我發佈的問題,它說我的問題主要是代碼,所以我寫了這個問題 –

回答

相關問題