C语言中,i , i,以及i--,--i,啥意思,如何区别,老是搞不清,高手支个招,在此谢过…
\u8bf7\u95ee\u4e00\u4e0bc\u8bed\u8a00\u4e2d++i\u8ddfi++\uff0c\u4ee5\u53ca\u2014\u2014i\u8ddfi--\u7684\u533a\u522b\u554a++i\u4ee5\u53cai++\u548c--i\u4ee5\u53cai--\u4e4b\u95f4\u7684\u533a\u522b\u539f\u7406\u662f\u4e00\u81f4\u7684\uff0c\u641e\u6e05\u695a\u4e00\u79cd\u5c31\u80fd\u7406\u89e3\u53e6\u4e00\u79cd\u4e86\u3002
\u8bf4\u4e00\u4e0b\u524d\u7f00\uff08++i\uff09\u81ea\u589e\u548c\u540e\u7f00\uff08i++\uff09\u81ea\u589e\u4e4b\u95f4\u7684\u533a\u522b\uff1a
\u4ee5\u4f8b\u5b50\u6765\u8bf4\uff1a
\u4f8b\u5b501\uff1a
int i = 5 ;
int b = 0 ;
b = ++i ;
\u4f8b\u5b502\uff1a
int i= 5 ;
int c = 0 ;
c = i++ ;
\u4e24\u4e2a\u4f8b\u5b50\u4e2d\uff0c\u4f8b\u5b501\u91cc\u9762 b = 6 \uff0c \u4f8b\u5b502\u91cc\u9762 c =5 \u3002
\u6211\u4eec\u628a\u8fd9\u4e2a\u81ea\u589e\u505a\u4e00\u4e2a\u53d8\u6362\uff0c\u5c31\u4e00\u76ee\u4e86\u7136\u4e86\uff1a
b= ++i \u76f8\u5f53\u4e8e=> i = i + 1 ; b= i ; //\u524d\u7f00\u81ea\u589e\uff1a\u6240\u6709\u7684\u64cd\u4f5c\u8981\u7b49\u81ea\u8eab\u503c\u589e1\u4e4b\u540e
c= i++ \u76f8\u5f53\u4e8e=> b= i ; i = i + 1 ; //\u540e\u7f00\u81ea\u589e\uff1a\u5148\u5c06\u81ea\u8eab\u73b0\u6709\u7684\u503c\u7ed9\u522b\u4eba\uff0c\u518d\u5bf9\u81ea\u8eab\u589e1
\u5927\u4f53\u5c31\u662f\u4e0a\u9762\u8fd9\u6837\u4e86
a[i++]\u548ca[++i]\u7684\u533a\u522b\uff1a
\u76f8\u540c\u70b9\uff1ai\u90fd\u52a01\uff0c\u90fd\u4f7fi\u7684\u503c\u53d8\u6210\u4e0b\u4e00\u4e2a\u5143\u7d20\u7684\u5e8f\u53f7\u3002
\u5f02\u540c\u70b9\uff1aa[i++]\u4e2di++\u662f\u540e\u81ea\u589e\uff0c\u5fc5\u987b\u5148\u4f7f\u7528\u5f53\u524d\u5143\u7d20\u7684\u503c\u518d\u4f7f\u7528\u4e0b\u4e00\u4e2a\u5143\u7d20\u7684\u503c\uff0ca[++i]\u4e2d++i\u662f\u524d\u81ea\u589e\uff0c\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u4e0b\u4e00\u4e2a\u5143\u7d20\u7684\u503c\u3002
\u4f8b\u5b50:
# include
int main ()
{
int a[3] = {1,2,3};
int i = 0;
printf("%d\n",a[i++]);//\u672c\u8f93\u51fa\u7684\u503c\u4e3a1,\u56e0\u4e3a\u662fi++\uff0c\u6240\u4ee5\u662f\u5148\u4f7f\u7528a[0]\u7684\u503c\uff0c\u518d\u52a0\u4e0a1,\u5373\u5148\u8f93\u51faa[0]\u7684\u503c\u3002
i = 0;
printf("%d\n",a[++i]);//\u672c\u8f93\u51fa\u7684\u503c\u4e3a2,\u56e0\u4e3a++i,\u6240\u4ee5\u76f4\u63a5\u4f7fi\u52a01\uff0c\u5373\u8f93\u51faa[1]\u7684\u503c\u3002
return 0;
}
i--意思是先带入原来的变量i的值运算,然后i自减一,下次用时i就变成i-1了
--i是先自减一,然后带入计算,就是说,当前你所算的式子上用的就是i-1。
扩展阅读:c语言视频教程在线观看 ... 网络c语言是什么梗 ... c语言基础知识必背 ... chou 中文翻译 ... 写c语言的软件 ... c语言中while x ... c知道 官网 ... cu流浏览器下载 ... c 代表什么 ...