C语言中i++问题,是i+1是发生在什么之后呢,帮我看看下面的几个小程序

2025-02-22 10:07:45
推荐回答(5个)
回答1:

i++ …… 先用i的值,然后i=i+1。比如:i=1,则i++值为1,而i值为2;
++i …… 先i=i+1,然后取值 。比如:i=1,则先将i加1,则i=2,所以
++i的值为2;

回答2:

++ --是单目运算符 前缀 和后缀 使用不同
以你的i=1为例
++i 是先加1 在使用 J=++i*5 结果为10
i++ 是先使用在加1 J=i++*5 结果为5

自己去琢磨一下就明白了

==========================================================
华丽的分割线 上下关系不大 上边只是给你举个例子方便你理解
==========================================================

#include"stdio.h"
void main()
{
int i,j;
for (i=0;i<10;i++)
{
printf("%d",i);//输出i
j=i+1;
printf("%d",j);//输出i+1
}
}

回答3:

#include"stdio.h"
void main()
{
int i;
for (i=0;i<10;i++)
{
printf("%d",i++);
printf("%d",i);
}
}
等价于
#include"stdio.h"
void main()
{
int i;
i=0;
while(i<10)
{
printf("%d",i);i=i+1;//这里如果是写++i的话,就应该是先i=i+1再printf了
printf("%d",i);
i++;
}
}

回答4:

#include"stdio.h"
void
main()
{
int
i;
for
(i=0;i<10;i++)
{
printf("%d",i++);
printf("%d",i);
}
}
等价于
#include"stdio.h"
void
main()
{
int
i;
i=0;
while(i<10)
{
printf("%d",i);i=i+1;//这里如果是写++i的话,就应该是先i=i+1再printf了
printf("%d",i);
i++;
}
}

回答5:

i++;
先引用后增加
++i;
先增加后引用;
不过,在for循环两者都一样的