當前位置:首頁 » 編程語言 » c語言的賦值運算問題怎麼辦
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言的賦值運算問題怎麼辦

發布時間: 2022-04-02 11:42:30

c語言中賦值運算符++的問題

你的編譯器可能比較山寨。按C規則,這題肯定是1,你的分析是完全正確的。為了驗證我專門運行了一下,看——

❷ C語言 關於賦值錯誤的問題

if((a<=b)&&((b-a+1)<=N)&&(((a+b)*(b-a+1))/2=M))
這句語句錯了,我不知道你是不是想寫成(((a+b)*(b-a+1))/2==M)(=變成==)
這個的錯誤是,等號前面是表達式,表達式的結果是一個臨時變數,你把M賦值給一個臨時變數,肯定錯了。臨時變數不能做左值
要不改成==,表示相等,如果就是賦值,把M寫前面就可以了,把運算的值賦給M

❸ C語言賦值問題

先判斷a>b是否為真。
a=1,b=2,a<b,因此a>b為假,值為0。

&&是與運算,從左至右運算表達式,只要有一個表達式的值為0,運算的結果就為0,不再繼續運算後面的表達式。因此後面的++c不再執行,c的值仍然是3。
選第二個。

❹ c語言的賦值表達式運算問題

你是怎樣輸出的?

再檢查檢查程序吧~

要不你把程序全部代碼打出來,靠幾句話在這說誰能幫你……

多出錯是好事情,自己找出來的錯誤更好~

我試了一下

main()
{double a=12.0;
a/=a+a;
printf("%lf\n",a);
}

輸出沒問題,是0.500000

❺ C語言賦值計算的問題,謝謝

int i,j,m,n;
i=8;j=10;
m=++i; // ++i,i自身先加1,再賦值,所以i=9 ,m=9
n=j++; // j++,先賦值,n=10,j再自身加1,所以j=11,n=10
printf("%d,%d,%d,%d\n",i,j,m,n); //所以輸出為9 11 9 10

❻ C語言賦值運算問題1

float x;,x%2是不正確的,float類型的數據不能取余數,x應該定義為int類型。

x=123,y=45.000000;因為scanf("%3d%f",&x,&y); 輸入的格式%3d%f
數據12345(空格)678(回車)輸入後,x取3位=123,而y取到45後面是空格,是字元型數據,不能再讀入,所以再後面的678也不會讀入。
這樣的輸入最好不要用,非常容易錯誤;最多在printf中使用,不過理解這其中的問題也是很必要的了。

❼ C語言賦值運算

+= -= *=運算符優先順序為:先乘除後加減

結合順序是從右往左

先執行a*=a a=a*a=144
然後執行a-=a a=a-a=0
最後執行a+=a a=a+a=0

輸出為0

補充回答:
先求a*=a結果是144是正確的,但是此時a的值已經是144,
下一個運算的值,a應該是144,而你使用的仍然是12,所以錯了

❽ c語言 復合賦值運算符的問題,請指教!

第一步:a=a/(a-6),a的值傳遞給第二步進行下一步計算
第二步:a=a*a,a的值傳遞給第三步進行下一步計算
第三步:a=a+a,a的最終結果在這里

記住兩句話:
1、=賦值號,自右向左進行;
2、a+=1相當於a=a+1。這個a/=a-6先把a-6看成一個數,a/=1不就是a=a/1嘛;

❾ 關於C語言運算符賦值問題

++即自增運算,前置的++表示在運算之前實現自增,後置的為運算之後,以上述兩行代碼為例,當Y=X++;執行完畢後X才自增,因此Y的值是10,X的值自增為11

❿ C語言中賦值運算符的問題!

代表參與運算的元素的個數,如:+是二目運算符,因為參加+運算的必須為兩個數,例如a+b
!是一目運算符,參與運算的為單個數,例如!a