第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

vs2010下輸出11,10.不過導(dǎo)致輸出結(jié)果不同的原因是什么?

vs2010下輸出11,10.不過導(dǎo)致輸出結(jié)果不同的原因是什么?

心有法竹 2023-05-01 11:07:23
#include <iostream>using namespace std;int main(){ int a,b; a=5; a=a+(a++); cout<<a<<endl; a=5; b=a+(a++); cout<<b<<endl; return 0; }求一個詳細(xì)的解釋
查看完整描述

2 回答

?
一只甜甜圈

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超5個贊

#include <iostream>using namespace std;int main(){        int a,b;
        a=5;
        a=a+(a++);
        cout<<a<<endl;
        a=5;
        b=a+(a++);
        cout<<b<<endl;
        cout<<a<<endl; // 你覺得這行還會輸出 5 么 ..?
        return 0;
}

代碼解釋一切 ...

查看完整回答
反對 回復(fù) 2023-05-03
?
牧羊人nacy

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超7個贊

自加運(yùn)算在不同的語言里會有不一樣的解釋,你在java中就會發(fā)現(xiàn)兩個都是10,我覺得這個挺誤導(dǎo)人的,python、go中都沒有這個了,沒啥意義。C里面的這個,我覺得可以理解成那個++運(yùn)算發(fā)生在賦值運(yùn)算之后,而java中發(fā)生在賦值運(yùn)算之前,所以被賦值運(yùn)算覆蓋了。我真的閑的狠,看了一下代碼(砍掉無關(guān)的,只留下這段計(jì)算):

	movq	%rsi, %rax
	movl	%edi, %ecx
	movl	%ecx, -4(%rbp)
	movq	%rax, -16(%rbp)
	movl	$5, -28(%rbp)
	movl	-28(%rbp), %eax
	movl	-28(%rbp), %ecx
	addl	%ecx, %eax
	movl	%eax, -28(%rbp)
	movl	-28(%rbp), %eax
	addl	$1, %eax
	movl	%eax, -28(%rbp)
	movl	-28(%rbp), %eax
	xorb	%cl, %cl
	leaq	L_.str(%rip), %rdx
	movq	%rdx, %rdi
	movl	%eax, %esi
	movb	%cl, %al
	callq	_printf
	movl	$5, -28(%rbp)
	movl	-28(%rbp), %ecx
	movl	-28(%rbp), %edx
	addl	%edx, %ecx
	movl	%ecx, -32(%rbp)
	movl	-28(%rbp), %ecx
	addl	$1, %ecx
	movl	%ecx, -28(%rbp)
	movl	-32(%rbp), %ecx
	xorb	%dl, %dl
	leaq	L_.str1(%rip), %rdi
	movl	%ecx, %esi
	movb	%dl, %al
	callq	_printf
	movl	$0, -24(%rbp)
	movl	-24(%rbp), %eax
	movl	%eax, -20(%rbp)
	movl	-20(%rbp), %eax
	addq	$32, %rsp
	popq	%rbp
	ret

第一個算式中加1操作在這里:

	movl	-28(%rbp), %eax
	addl	$1, %eax
	movl	%eax, -28(%rbp)

從開頭就能看到-28(%rbp)就是變量a的內(nèi)存位置

第二個算式中加1操作在這里:

	movl	-28(%rbp), %ecx
	addl	$1, %ecx
	movl	%ecx, -28(%rbp)

而變量b的地址是-32(%rbp),當(dāng)然不會被這個加1操作影響了


查看完整回答
反對 回復(fù) 2023-05-03
  • 2 回答
  • 0 關(guān)注
  • 288 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號