C语言有关表达式的小问题

来源:百度知道 编辑:UC知道 时间:2024/05/16 04:14:23
有此题:若变量已正确定义并赋值,那么a=b+c;a++符合C语言语法的表达式吗?(答案应该是不符合),请说明原因.谢谢

a=b+c;a++;
这样就好了
不是表达式是赋值语句
a=b+c,a++
是表达式

答案是表达式
赋值也是表达式,叫做赋值表达式
符合c语言表达式语法,语法不会报错。
可以用示例证明给你看:
示例1:

#include <stdio.h">
void main()
{
int a;
int b;
int c;

a=1; //赋值表达式
b=2; //赋值表达式
c=3;//赋值表达式

for(;a=b+c;a++)//a=b+c就是条件表达式,a++是增量表达式
{
printf("如果a=5时,就循环");
}
printf("\n %d",a);
}

示例2:
#include <stdio.h>
void main()
{
int a;
int b;
int c;

a=1;
b=2;
c=3;

a=b+c;//a被重新赋值,结果是a的值是5
a++;//a再自加1

printf("\n %d",a);//打印a的值,值应该是6;
}