在C语言中-i和i-的区别

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

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

1<<i是把1左移i位,每次左移以为就是乘以2,所以1<<i的结果是1乘以2的i次方
i<<1就是把i左移一位,即i乘以2,假如i=5,最后结果就是5*2=10
至于为什么左移一位是乘以2,这是运算器内部机理,说起来就更多了,计算机做乘法运算的时候不是一个个的相加,而是用移位来实现的。>>这个符号是右移,与左移相反,右移是除以2.
这里还有一点容易搞错的,就是移位符号的左边是需要计算的数,右边是需要移动的位数。

比如:
a=--i;相当于i--; a=i;
a=i--;相当于a=i; i--;

  • 在C语言中-i和i-的区别
    答:a=--i;相当于i--; a=i;a=i--;相当于a=i; 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...
  • C语言中,i , i,以及i--,--i,啥意思,如何区别,老是搞不清,高手支个招...
    答:i就是普通的变量。i--意思是先带入原来的变量i的值运算,然后i自减一,下次用时i就变成i-1了 --i是先自减一,然后带入计算,就是说,当前你所算的式子上用的就是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...
  • C语言 请问代码里面的i--,i++什么意思
    答:++i是指先把i加上1后在对i进行运算。举个例子 i=0;n=0;当执行n=++i后;是 n的值就是1;i的值为1;而若是执行n=i++则,n的值为0。i为1;换句话说n=++i是先执行n=i;在对i自加运算。n=i++;是先执行i的自加运算再把i的值赋予n。
  • ++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++,以及——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--是后置操作 --i是前置操作 例 int a = 0;int i = 0;a = i--;//先a = i ; 然后 i = i - 1;所以a == 0;/// int a = 0;int i = 0;a = --i;//先i = i - 1 ; 然后 a = i;所以a == -1;
  • 请解释一下C语言中的 for(--i;i>=0;i--) 的意思。
    答:然后是判定表达式2,表达式值为真则执行循环体,然后继续执行表达式3,否则跳出循环,结束for语句.(C语言中用0来表示假,非零来表示真)所以 for(--i;i>=0;i--)的意思就是,先执行一次--i,然后判定i是否大于等于零,若是i大于等于零,则执行循环体,然后再执行i--,若i小于零,则退出for循环 至此,...