为什么C语言中a+=b+=c+d=12
时间: 2024-05-06 19:19:05 浏览: 159
这段代码中的表达式 a += b += c + d = 12 是非法的,因为它试图将一个赋值表达式赋值给一个表达式,而赋值表达式本身并没有任何值可以赋给其他表达式。这样的表达式是不符合 C 语言语法规则的,编译器会报错。正确的写法是将赋值表达式拆分成多个语句,如下所示:
```
d = 12;
b += c + d;
a += b;
```
这样就可以正确地实现 a += b += c + d = 12 的功能了。
相关问题
C语言求sum =a+aa+aaa…
这道题目是要求计算sum=a+aa+aaa+...,其中a和n由用户输入。可以使用循环来实现这个过程。具体实现方法如下:
```c
#include <stdio.h>
int main(){
int n,sum=0,a;
scanf("%d %d",&a,&n);
int b=a;
for(int i=0;i<n;i++){
sum+=a;
a=a*10+b;
}
printf("%d",sum);
return 0;
}
```
代码中,首先通过scanf函数获取用户输入的a和n的值,然后使用for循环进行n次迭代,每次将a的值累加到sum中,并将a的值更新为a的现值乘以10再加上a的初始值b。最后输出sum的值即可。
若变量已正确定义并赋值,下面符合C语言语法的表达式是( )。 A a=b=c+2 B a:=b+1 C a=a+7=c+b D int 18.5%3
符合C语言语法的表达式是 A a=b=c 2。其他选项都存在语法错误:
- B选项中,冒号是赋值运算符,而不是C语言中的等号。
- C选项中,a=a 7=c b中间应该是一个逗号,而不是等号。
- D选项中,int后面不应该跟一个小数,而且求余运算符应该用百分号%表示,而不是中文输入法下的全角百分号。
阅读全文