您的位置:首页 > 编程语言 > C语言/C++

第18周 C语言实战105例 实例2:递增递减操作符

2016-07-27 15:37 337 查看
问题及代码:

/*实例2:递增递减操作符*/

#include<stdio.h>
#include<stdlib.h>

int main()
{
int i=10,j;
system("cls"); //原题用clrscr(),但其不是标准函数,无法调用

j=i++; //i赋值给j后,i自增1
printf("%d\t%d\n",i,j); //i==11,j==10

i=++j; //j自增1,再赋值给i
printf("%d\t%d\n",i,j);//i==j==11

printf("%d\n",++i); //将i加1后输出,即i==12
printf("%d\n",--i); //将i减1后输出,即i==11
printf("%d\n",i++); //将i输出后加1,输出11,i==12
printf("%d\n",i--); //将i输出后减1,输出12,i==11

j=-i++;
printf("%d\t%d\n",i,j);
//i取负值,赋值给j,i自增1 i==12;j==-11;

j=-i--;
printf("%d\t%d\n",i,j); // i==11,j==-12;
printf("%d\t%d\t%d\n",i,i--,i--); // 输出为9 10 11 因为自增自减为单目运算符,具有右结合性(i--得到11后自减1,得10后再自减1,得出9)
getchar();
return 0;
}


总结:

单目运算符的右结合性
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: