在C语言赋值语句中,给多个变量赋值,用逗号隔开,岂不是相当于一个逗号表达式?例如.int a=1,b=2;逗号表达式的形式是:表达式1,表达式2.这么说来,上面的那个赋值语句不是相当于一个逗号表达

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/30 01:39:22

在C语言赋值语句中,给多个变量赋值,用逗号隔开,岂不是相当于一个逗号表达式?
例如.int a=1,b=2;逗号表达式的形式是:表达式1,表达式2.这么说来,上面的那个赋值语句不是相当于一个逗号表达式了?逗号表达式不是求第二个的值么?那这个赋值语句怎么说?

不能那样理解.逗号表达式是已经声明过的变量合法组成的多个有效运算表达式用逗号隔开,而int a=1,b=2;只能有一种解释,那就是声明和初始化变量时可以把多个相同类型的变量用逗号隔开写在同一个类型符后面,最后用分号结束.对上面的声明,如果再声明一个int c;,那么,c=(a=1,b=2)运算后c=2,因为(a=1,b=2)取最右边一个逗号后表达式的运算结果.所以,我觉得c=(a=1,b=2)中的(a=1,b=2)是逗号表达式,而int a=1,b=2不是逗号表达式!计算机语言的所谓“语法”其实只是一些书写规定,有很多甚至是不能变通的,比如char *p,*q,语法说*是属于char而不属于后面的变量的,但若写成char *p,q后q却不认为是指针,这又怎么理解呢?那就是为了方便,不然,如
char *p,w,x;这样的声明就要写成两行了:
char *p;
char w,x;
……

在C语言赋值语句中,给多个变量赋值,用逗号隔开,岂不是相当于一个逗号表达式?例如.int a=1,b=2;逗号表达式的形式是:表达式1,表达式2.这么说来,上面的那个赋值语句不是相当于一个逗号表达 C语言中,赋值语句a=a++, 在C语言中,定义一个整型变量后,给它赋初值,然后要怎样赋值,才能...在C语言中,定义一个整型变量后,给它赋初值,然后要怎样赋值,才能使它输出的是空格啊?我是个菜鸟, C语言里赋值语句的等号右边的值在赋值给等号左边的变量后还存在吗?比如p=5,那5这个数被赋值给了p之后还会在后面的程序中存在吗?比如互换两个数的时候int a,b,c;a=5,b=6;c=a; /*这一步时a的值 C语言中这个赋值语句正确吗?为什么?y=int(x);这个语句错在哪里? c语言中static定义后的变量如果进行多次赋值,是否只执行第一次赋值 ,其余赋值运算不作处理 在C语言中a=b=0;和a=b==5;是不是赋值语句 c语言赋值语句 a=b=c 是如何赋值 C语言中,-0x5B这种表达方式对吗?也就是说16进制的整型常量有负数吗?我在VC6.0中,给变量赋值-0x1,用%d输出的值为-1,这没有什么问题.可是如果我给变量赋值-1,用%#x输出时,却得到了0xFFFFFFFF,符号没 C语言,如何将A0,A1,A3变量用“A+数字”公式表达由于用到多个一维数组,命名为A0[],A1[]~A100[],想赋值给一个二维变量,在表达式中要用到100个类似公式,有没有什么办法,用一个“A+数字变量”公式 a:=b+1;为什么是C语言中不合法的赋值语句 答案选择b,为什么呢?若变量已正确定义为int型,要通过语句scanf(“%d,%d,%d”,&a,&b,&c);给a赋值1,给b赋值2,给c赋值3,以下输入形式中错误的是(u代表一个空格符)(1分) (A) uuu1,2,3(B) 1u2u3(C) 1,uuu2,uuu3(D) 1,2 c语言:“不能在赋值语句中通过赋值运算符‘=’对字符型数组进行整体赋值.”这句话为什么是对的?例如:main(){char s[5]=asdf;}这个整体赋值应该是可以的啊,请教应怎样理解这句话 在C语言中,若变量已正确定义并赋值,则该表达式 a=a+7=c+b C语言 设变量x为float型且已经赋值,则以下语句中能够将x中的数值保留到小数点后面2位,并将第3位四舍五入12、设变量x为float型且已经赋值,则以下语句中能够将x中的数值保留到小数点后面2位, 假定变量b和pb定义为“int b[10], *pb=b;”,要将24赋值给b[1]元素中,不正确的语句是( C ).假定变量b和pb定义为“int b[10], *pb=b;”,要将24赋值给b[1]元素中,不正确的语句是( C ).A. *(pb+1)=24; B. C语言n=(-x)++; 表达式中变量定义为int 类型并已赋值 上述表达式怎么错了? 求C语言题,我是初学者,若变量均已正确定义并赋值,以下合法的C语言赋值语句是A)x=y==5;B)x=n%2.5;C)x=n=1D)x=5=4=1;为啥C若作为一个表达式是否合法为啥A中那连续的两个赋值号是怎么回事