欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

單片機C語言keile5<<=為什么會報錯?

查看數: 2261 | 評論數: 5 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2023-1-29 21:15

正文摘要:

keile5<<=為什么會報錯? 打算把51的程序移植到32 在keil4中能用data1=data1<<=1; 但是在keil5給32位寫程序時會出現錯誤

回復

ID:1059013 發表于 2023-2-20 18:50
加個括號data1=(data1=data1<<1);試試
左結合的原因吧
ID:1063596 發表于 2023-2-20 14:24
復合運算符本身就包含給變量賦值的意思,類似 a+=3 -> a=a+3 ,是不需要再寫一個等于號的。
同類的寫法 a*=2,a+=3,a-=5,a/=6,a%=7,a|=8,a&=1。
基本運算符和位運算都可以給成復合運算符~
ID:883242 發表于 2023-1-30 07:22
a<<=b等效于a=a<<b
data1=data1<<=1; 展開后就是:
data1=data1=data1<<1;
這不是典型的語法錯誤還是什么?
ID:1034262 發表于 2023-1-29 23:14
語法錯誤吧。
要么是:data1 <<= 1;
呀么是:data1 = data1 << 1;
ID:824490 發表于 2023-1-29 22:32
話多 必失!
data1<<=1; // 有這個就可以了
data1=data1;//這個就不用了

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表