c语言中i--,--i和-i--有什么区别

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-08-01
i++ 和i-- 有什么区别? C语言

i++和i--的区别:
1、运算方式
i++属于自增运算,相当于i=i+1;
i--属于自减运算,相当于i=i-1;
2、值的变化:
假设i=10,分别运行i++、i--后;
i++后:i=i+1=10+1=11;
i--后:i=i-1=9。

扩展资料:
无论i++,还是i--,这两个公式既可以单独存在,也可以赋值给另外的变量。当赋值引用的时候,他们的含义:
1、i++,先引用i的值,后增加i的值,
如int i=10;
int a=i++;
该程序运行后,a=10,而i=11。
2、i--,先引用i的值,后i的值减1。
如int i=10;
int a=i--;
该程序运行之后,a=10,i=9。
除了以上的用法外,还有一种表示法是++i或者--i,这种表示法i的值也会相应的自增1或者自减1,i的结果和i++与i--是相同的,但是当赋值给另一个变量时,对赋值的变量,结果却存在差别,因为++i代表先增加,后引用,--i代表先减少,再引用。
例如同样的程序,i=10,
如果int a=i++,那么a=10;而int b=++i的话,b=11;
如果int a=i--,那么a=10;而int b=--i的话,b=9。

--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=%d,j=%d,k=%d",i,j,k);}
运行结果为: i=2,j=4,k=2

扩展资料C语言的模块化程序结构用函数来实现,即将复杂的C程序分为若干模块,每个模块都编写成一个C函数,然后通过主函数调用函数及函数调用函数来实现一大型问题的C程序编写,因此常说:C程序=主函数+子函数。
因此,对函数的定义、调用、值的返回等中要尤其注重理解和应用,并通过上机调试加以巩固。
参考资料:c语言_百度百科

意思一样,只不过你的程序有点问题,第二个程序中
if (s1[i] = '\0')
{
strcat(ch, &s2[i]);
}
应该为
if (s1[i] = = '\0')
{
strcat(ch, &s2[i]);
}


  • 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...
  • c语言中i--,--i和-i--有什么区别
    答:意思一样,只不过你的程序有点问题,第二个程序中 if (s1[i] = '\0'){ strcat(ch, &s2[i]);} 应该为 if (s1[i] = = '\0'){ strcat(ch, &s2[i]);}
  • c语言中的- i--是什么意思?
    答:-i--就是先进行i--运算,然后再取其负值。下面是C语言运算符的优先级:--与负号处于同一优先级,而结合方向是从右到左,所以是先进行i--运算,再取负号。i--就是把i自减1,但是它的返回值却是i,这就是i--与--i的区别,--i的返回值就是i-1了。具体看下面一个程序:include<stdio.h>...
  • 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的区别是什么啊?
    答:k=--i; //i先执行i=i-1,然后再赋值给;printf("i=%d,j=%d,k=%d",i,j,k);} 运行结果为: i=2,j=4,k=2 赋值语句 将确定的数值赋给变量的语句叫做赋值语句。各程序设计语言有自己的赋值语句,赋值语句也有不同的类型。所赋“值”可以是数字,也可以是字符串和表达式。注意很多语言...
  • C语言中,i , i,以及i--,--i,啥意思,如何区别,老是搞不清,高手支个招...
    答:i就是普通的变量。i--意思是先带入原来的变量i的值运算,然后i自减一,下次用时i就变成i-1了 --i是先自减一,然后带入计算,就是说,当前你所算的式子上用的就是i-1。
  • C语言 for(i--;i--;i--)
    答:然后是判定表达式2,表达式值为真则执行循环体,然后继续执行表达式3,否则跳出循环,结束for语句.(C语言中用0来表示假,非零来表示真)所以 for(--i;i>=0;i--)的意思就是,先执行一次--i,然后判定i是否大于等于零,若是i大于等于零,则执行循环体,然后再执行i--,若i小于零,则退出for循环 至此,...
  • c语言中,i++ ,i--,++i,--i,-i++,-i--
    答:i++表示后加,++i表示前加。区别一般在表达式中才能体现 比如 i=1;j=i++;那么运行后,j=1;i=2;后加的特点就是用完了再把自己加1 i=1;j=++i;那么运行后,j=2;i=2;后加的特点就是用前就加1 但是如果只是i++,和++i的话,就体现不出来了,因为这个表达式没有作用于其他的变量,都是...
  • 请问一下c语言中++i跟i++,以及——i跟i--的区别啊
    答:++i以及i++和--i以及i--之间的区别原理是一致的,搞清楚一种就能理解另一种了。说一下前缀(++i)自增和后缀(i++)自增之间的区别:以例子来说:例子1:int i = 5 ;int b = 0 ;b = ++i ;例子2:int i= 5 ;int c = 0 ;c = i++ ;两个例子中,例子1里面 b = 6 , ...
  • 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;注意顺序