㈠ 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
這樣前面的話也做了,最終也達到了我們的目的。
但注意此句話最後邊忘了那個分號!
表示語句的結束。