どこかでこのコード スニペットに出くわしましたが、それがどのように機能するのか理解できません。
#include"stdio.h"
int main() {
int j = 1;
+ j += + j += + j++;
printf("%d",j);
return 0;
}
出力:
6
このコード スニペットの動作を説明してください。
どこかでこのコード スニペットに出くわしましたが、それがどのように機能するのか理解できません。
#include"stdio.h"
int main() {
int j = 1;
+ j += + j += + j++;
printf("%d",j);
return 0;
}
出力:
6
このコード スニペットの動作を説明してください。
lvalue
for 割り当てを提供していないため、プログラムはコンパイルされません。
次のエラー メッセージが GCC によって表示されます。
lvalue required as left operand of assignment
あなたのプログラムでは、短縮代入演算子を使用しました。
たとえば、次のコードを考えてみましょう。
a+=b;
意味、
a=a+b;
しかし、あなたの使い方は間違っています。
同じスニペットを別の方法で説明する場合は、理解していただければ幸いです
私のポイント+変数は正の変数に過ぎず、-変数は負であることに注意してください
今あなたのスニペットを見てください
#include"stdio.h"
int main() {
int j = 1;
+ j += + j++;// i.e "j+=j++;" which is "j=j+j; j= j+1;"
//now j = j+j "1+1" "j=2" and post increment then j=j+1 "2+1" "j=3"
+j+=+j;//which is j+=j or j=j+j
//hence j=3+3 i.e 6
printf("%d",j);//j=6
return 0;
}