C语言,i--和--i有什么区别,怎么用?
发布网友
发布时间:2022-04-21 13:28
我来回答
共2个回答
热心网友
时间:2023-11-11 06:37
-i--就是先进行i--运算,然后再取其负值。
下面是C语言运算符的优先级:
--与负号处于同一优先级,而结合方向是从右到左,所以是先进行i--运算,再取负号。
i--就是把i自减1,但是它的返回值却是i,这就是i--与--i的区别,--i的返回值就是i-1了。
具体看下面一个程序:
#include<stdio.h>
int main(void)
{
int i = 2;
int j = 2;
printf("i的初始值的为%d\n",i);
printf("j的初始值的为%d\n",j);
printf("-i--的值的为%d\n",-i--);
printf("- --j的值的为%d\n",- --j);
printf("i的值的为%d\n",i);
printf("j的值的为%d\n",j);
}
结果为:
热心网友
时间:2023-11-11 06:37
先使用-i的值,然后i = i-1;
i--和--i有什么区别,假设令i等于2,则i分别输出什么
i-- 表示先取值,再运算;--i表示先运算,再取值。所以,如果i=2,输出i--应该是2,因为它先取2输出,再进行i-1的运算(这时候你再输出i,他就是1了);输出--i就是1,因为它会先进行i-1的运算,再取值输出。
c语言中i--,--i和-i--有什么区别
--i 是先执行i=i-1,然后再使用i的值, 这时的i 值就是表达式--i的值。i-- 是先使用i的值作为表达式i--的值,然后,执行i=i-1操作。include"stdio.h"void main(){int i=4,j,k;j=i--; //i先赋值给j,然后i在执行i=i-1;k=--i; //i先执行i=i-1,然后再赋值给;printf...
i--和--i的区别是什么啊?
--i 是先执行i=i-1,然后再使用i的值, 这时的i值就是表达式--i的值。i-- 是先使用i的值作为表达式i--的值,然后,执行i=i-1操作。include"stdio.h"void main(){ int i=4,j,k;j=i--; //i先赋值给j,然后i在执行i=i-1;k=--i; //i先执行i=i-1,然后再赋值给;printf...
- i--与i--有什么区别呢?
下面是C语言运算符的优先级:--与负号处于同一优先级,而结合方向是从右到左,所以是先进行i--运算,再取负号。i--就是把i自减1,但是它的返回值却是i,这就是i--与--i的区别,--i的返回值就是i-1了。具体看下面一个程序:include<stdio.h>int main(void){int i = 2;int j = 2;...
c语言,for(i=5;i--;)和for(i=5;--i;)的区别,再解释一下这个循环的意思和...
有区别,区别就在--i这了,这个位置是判断是否执行循环体的地方,所以在这只要返回值不是零,就执行循环体,总的来说,前一个比后一个多运行一次循环体,原因就是i--和--i的返回值问题,当循环到i是1的时候,第一个还会循环一次,因为i--是1,后面再利用i的时候才是0 但是第二个,--i,...
++i、--i和i++、i--的区别理解
++i、--i和i++、i--的区别:1、执行时间先后顺序不同。++i 先执行i+1后执行程序 i++ 先执行程序后执行i+1 int i=8; printf("%d\n",++i),先执行加法所以打印出来的是9 printf("%d\n",--i)。2、执行减法的先后程序不同。先执行减法 打印出来是8 printf("%d\n",i++)。先执行...
c语言中,i++,i--,m=i++,m=i--的区别
i++ 和 ++i 都是 i=i+1 的意思 i-- 和 --i 都是 i=i-1 的意思 m=i++ 就是 m=i;i=i+1;m=i-- 就是 m=i;i=i-1;m=++i 就是 i=i+1; m=i;m=--i 就是 i=i-1; m=i;注意顺序
while(1) 什么意思 while(i--)什么意思?
while(1)其中1代表一个常量表达式,while(1) 表示无限循环,除非你设置break等类似的跳出循环语句循环才会中止 while(i--)其中i是一个变量,因此表达式i--有不同的值,依次递减,i--是先取值后减,--i先加后取值,所以i--的值同未执行该自减运算时的i相等。
C语言:若有定义int i=3;,问执行a=i---i;后a的值是多少?
答:由于-和--都是右结合的,它们都作用在前面那个i上。这样说的话i---i表达式中理解成(i-)--i和(i--)-i都是可以的;但C编译器有个叫“贪心”规则规定,即要把“尽量多”的符号“一次性”解释,所以i---i被解释为(i--)-i而不被解释为(i-)--i。这样的话,因为i--是后--,a=i...
-i++和 -(i++)有区别么
i++和++i的区别在于,前者是用i的原值参与计算,而后再自加,后者是先自加,然后再参与运算.i--和--i与之类似.这里不管你加不加括号,都是以i的原值参加计算,算完后再自加,如果要先自加,使用++i,你可以自己写一段代码试试看.表达式中使用++和--的时候要非常谨慎,建议在日常习惯中把i++或者++...