【发布时间】:2016-08-15 04:56:14
【问题描述】:
在编译下面的代码时,我收到错误“需要左值作为赋值的左操作数”
for (i = 1; i < 2 n; i++) {
for (((i<= n)?j=1:j=n-i);j<=i&&j>0;((i<=n)?j++:j--)) {
printf("*");
}
printf("\n");
}
其实我只是尝试使用两个 for 循环来打印下面的模式
*
**
***
****
*****
****
***
**
*
我得到的错误是
pra.c:5:20: error: lvalue required as left operand of assignment
for(((i<=5)?j=1:j=i);j<=i&&j>0;((i<=5)?j++:j--)){
^
谁能帮帮我。
【问题讨论】:
-
你应该把
((i<=5)?j=1:j=i)改成(j=((i<=5)?1:i)) -
在 C 编程中,不幸的是,在一行中使用该语言中的每个运算符并没有得到任何奖励...改为编写可读代码。
标签: c