本文目錄一覽:
- 1、#include Main( ) { int x=10,y=10; printf(“%d,%d,%d,%d\n”,x–,x,–y,y); }
- 2、C語言 x,y,z=10 和 x=y=z=10 那個對?
- 3、C語言 結果是什麼 為什麼 main() {int x=10,y=10,i; for(i=0;x
- 4、c語言 void main() { int x=10, y=10; x+=++x;
#include Main( ) { int x=10,y=10; printf(“%d,%d,%d,%d\n”,x–,x,–y,y); }
10 10 9 10
x–,x,–y,y這四個參數對於printf來說是同時調用的,不存在先後關係
x– 是先調用x,然後再做減法 就是10
x 的值就是10
–y 是先做減法 再調用 就是9
y 的值就是10
C語言 x,y,z=10 和 x=y=z=10 那個對?
如果是聲明的話
int x,y,z=10;這樣沒錯,只不過z是聲明的同時初始化了,但單獨拿出來使用算錯
x=y=z=10,在賦值中是對的,但聲明中初始化不允許這樣做,單獨拿出來應該算對(前提是x,y,z都已經聲明)
那很抱歉的說,你們老師錯了,實踐是檢驗真理的唯一標準:
#includeiostream
using namespace std;
int main()
{
int a=b=c=10;
return 0;
}
1adf.cpp
1c:\users\liujq007\documents\visual studio 2008\projects\ccc\ccc\adf.cpp(5) : error C2065: “b”: 未聲明的標識符
1c:\users\liujq007\documents\visual studio 2008\projects\ccc\ccc\adf.cpp(5) : error C2065: “c”: 未聲明的標識符
C語言 結果是什麼 為什麼 main() {int x=10,y=10,i; for(i=0;x
輸出為:10 10 9 1
main()
{
int x=10,y=10,i; 第1輪 | 第2輪 | 第三輪
for(i=0;x8;y=++i) x==10 y==10 | x==9 y==1 | 88不成立,
printf(“%d %d “,x–,y);輸出10,10 然後x==9 | 輸出9 1然後x==8| 所以循環終止
}
c語言 void main() { int x=10, y=10; x+=++x;
x+=++x;
等價於:++x; x+=x;
取用x前先自增,x變為11,再執行x=x+x。於是11+11=22
y+=y++;
等價於:y+=y; y++;
這是先運算後y再自增。y=10+10=20,然後再增1,變為21。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/152564.html