㈠ c语言中的逗号运算符
这种古怪的东西,不同的编译器会得不同的结果,
逗号表达式,结果为最后一个表达式的值:
int a=6;
a=(3*5,a*4);
printf("%d",a);
得 24.
如果
int a;
a=(3*5,a*4);
printf("%d",a);
呢?VC++编译器认为:由于a*4时a没有值,所以得乱七八糟的结果。
double x;
x = 4444.333*4444.333;
或
x = 4444.333l * 4444.333l;
(用 尾巴字母 "l" 表示它是double).
书本上错误难免,还需自己实践。
㈡ C语言里的逗号的使用方法
C语言提供一种特殊放入运算符:逗号运算符
表达式1,表达式2
逗号表达式的求解过程是:
先求表达式1,再求表达式2
整个逗号表达式的值是表达式2的值,如表达式“3+5,6+8”的值为14。又如,逗号表达式“a=3*5,a*4”,赋值运算符的优先级别高于逗号运算符,因此应先求解a=3*5.经计算和赋值后得到a的值为15,然后求解a*4,得60,整个逗号表达式的值为60。
(2)c语言逗号扩展阅读:
逗号运算
例子:
int a1,a2,b=2,c=7,d=5; // 第1行
a1=(++b,c--,d+3); // 第2行
a2=++b,c--,d+3; //第3行
对于给a1赋值的代码,有三个表达式,用逗号分开,所以最终的值应该是最后一个表达式的值,也就是(d+3)的值,为8,所以a1的值为8。
㈢ c语言 逗号运算符
框与框之间由上到下为从高到低。(每个框内是同一个级别)
-------------------------------------
()
[]
->
.
++
--
------------------
!
~
++
--
-
+
*
&
(type)
sizeof
------------
->*
.*
------------
*
/
%
------------
+
-
------------
<<
>>
------------
<
<=
>
>=
------------
==
!=
------------
&
--------------
^
---------------
|
--------------
&&
------------
||
---------------
? :
--------------
=
+=
-=
*=
/=
%=
&=
^=
|=
<<=
>>=
------------
,
---------------
㈣ C语言逗号表达式
c语言提供一种特殊的运算符,逗号运算符,优先级别最低,它将两个及其以上的式子联接起来,从左往右逐个计算表达式,整个表达式的值为最后一个表达式的值。如:(3+5,6+8)称为逗号表达式,其求解过程先表达式1,后表达式2,整个表达式值是表达式2的值,如:(3+5,6+8)的值是14;a=(a=3*5,a*4)的值是60,其中(a=3*5,a*4)的值是60, a的值在逗号表达式里一直是15,最后被逗号表达式赋值为60,a的值最终为60。
所以你的那个a是15,然后a+15等于30。
㈤ c语言中字符串中逗号
数组初始化表写法:{元素初值列表},其中的元素初值列表以逗号表达式分隔,如:
int a[]={1, 2, 3};
double b[]={0.1, 0.2, 0.4};
char c[]={'a', 'b', 'c'};
㈥ C语言中的逗号和分号有什么区别和联系
一般地,逗号和分号都可作为一个表达式结束的标志。
最主要区别:
分号是语句结束标志,逗号是表达式结束标志。
比如样例:
#include<stdio.h>
intmain()
{
inti,j;
printf("Case1: ");
for(i=j=0;i<10;i++)printf("i=%d",i++),printf("j=%d",j++);
printf(" Case2: ");
for(i=j=0;i<10;i++)printf("i=%d",i++);printf("j=%d",j++);
return0;
}
㈦ C语言逗号问题
printf("Pleaseinputabc:");
scanf("%d%d%d",&a,&b,&c);//用空格隔开三个数
㈧ C语言中逗号运算符怎么用
逗号运算(,)是一个多元运算,逗号运算符可以把两个以上(包含两个)的表达式连接成一个表达式,称为逗号表达式。其一般形式为:
子表达式1, 子表达式2, ..., 子表达式n
它的整个的值都是最后一个表达式的值,这里所说的值是从左向右运算的。逗号运算符的优先级是所有运算符中级别最低的。
例如:
inta=(表达式1,表达式2);//则a的结果是表达式2的结果
㈨ C语言逗号的作用
C语言提供一种特殊放入运算符----逗号运算符表达式1,表达式2逗号表达式的求解过程是:先求表达式1,再求表达式2.整个逗号表达式的值是表达式2的值,如表达式“3+5,6+8”的值为14。又如,逗号表达式:“a=3*5,a*4”,赋值运算符的优先级别高于逗号运算符,因此应先求解a=3*5.经计算和赋值后得到a的值为15,然后求解a*4,得60.整个逗号表达式的值为60.逗号表达式的一般形式可以扩展为表达式1,表达式2,表达式3,。。。表达式n。它的值为表达式n的值逗号运算符是所有运算符中级别最低的。
㈩ 在C语言中逗号、分号等的用法
首先说下分号吧,其实分号挺简单的,它就表示着一个语句的结束,
就像平时我们语文中说完一句话加上个句号,
C语言中说完一句话后面加上个分号;
比如
printf("hello,world\n");
说完一句话加上个分号告诉计算机你说完这句话了
再来说下逗号,
这就样提到逗号表达式了,
比如
a=(4,6)
这个表达式它的值就是6
,为什么呢?
先看括号里的(4,6)
因为有了逗号存在形成一个逗号表达式,整个表达式的值取的是
逗号后面的值,因此是6
然后把6赋值给a
最终整个表达式的值就是6了
。
在逗号表达式中我认为只要记住了
取值取逗号后边的那个值就可以了。
再拿个经典点的说下
while(i<10)
sum+=i;
这一小断程序
当然我初始化sum值为0;
对于它我们可以改写成更简单的
就用逗号实现:
while(sum+=i,i<10)
;
这样一句话就实现了,它的过程就是先做WHILE里面的
sum+=i
然后括号内的整体是一个逗号表达式,整个表达式的值取逗号后边的
i<10
这样前面的话也做了,最终也达到了我们的目的。
但注意此句话最后边忘了那个分号!
表示语句的结束。