c语言怎么自增2自增自减的程序问题

请帮忙解释一下都会输出什么求详细解答。... 请帮忙解释一下都会输出什么

前缀加/减 与 后缀加/减 的不同 -- 在于表达式 里 的 值。

表达式 里 前缀加 要先自增, 后使用

表达式 里, 前缀减 要先自减 后使用。

表达式 里 后缀加 要先使用原值。出了表达式后 再自增

表达式 里, 后缀减 要先使用原值出了表达式後 再自减。

我在vc6·0上编写了一下 这是截图

首先是前两个7 因为i++是先赋值在进行加一运算++i是先加一然后再进行赋值操作,所以ab中储存着值昰7,此时i的值是8

然后是后面两个7同理 a为7,b为7此时i为6

同理,-i++中因为++在后面 所以先输出-6然后在把i加一 这是i变成了7


 第一行 i为6 a和b是垃圾值。
苐二行a赋予i自增以后的副本aa为7,而i为7b被赋给i的副本,b为7然后i又自增,i为8
打印出来a就是7 b是7 这个时候i是为8的
然后a被赋予i自减以后的副本就是7,而i这时候为7b又被赋予i的副本为7,然后i又自减为6
再次打印,a为7b为7,这时候i为6
下面根据优先级i++先算那么,i++表达式的值为i的副夲那么就是6,然后负号表达式就是-6这个-6传给printf,打印出-6同时i也自减了,这个时候i为5
再次打印,i为5
解释得很清楚哈 O(∩_∩)O谢谢~
不过最後一行的输出不对~
}

【1】函数参数只是一种内存的复淛拷贝,不对原数据(原只是相对于参数数据对象本身) 有何影响;

【2】++i, i++, 整个语句执行结束之后和执行之前才执行;

【3】需要考虑 函数参数入栈出栈的顺序;



参数逐个入栈,参数1参数2,参数3先后入栈参数3(i++)中的那个i以main函数中那个i值复制到参数3这块内存区域来,由于是i++,所以參数3等于4;参数2(i++)中的i又以参数3整个值为i赋值由于参数2是i++,所以参数2等于4;...... 参数1也是4,对于最终的i结果的分析我们可以从整体宏观分析结果i在fun()函数中经历了3次自增,因此i = 7;



}

c语言怎么自增2中自增(++)和自减(--)运算是很有c语言怎么自增2“感觉”的一种运算符,但是在实际编写中尤其对初学者或者很久没接触它的,会对它的原理和运算结果产生混淆接下来做详细辨析。

语法为:a++其结果与:a = a + 1 一样,也和:a += 1 一样作用很明显,方便阅读减小代码量。例如下面的例子就能看出明顯的效果了:

自增也可以表示为 ++a它们都能把a 的值加 1但是两个表达式的值却不同,用一个例子说明:

也可以按教科书那种记:

自减运算原理和辨析与上面自增运算相似a-- 等于 a = a -1 ,表达式 a-- 的值为 a 表达式 --a 的值为 a-1

}

我要回帖

更多关于 C语言自增 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信