关于C语言i++,++i的问题,菜鸟级!!!!
小弟做实验,遇到两个程序:第一个:#include<stdio.h>voidmain(){inti,j,m,n;i=8;j=10;printf("%d,%d,%d,%d\...
小弟做实验,遇到两个程序:
第一个:
#include <stdio.h>
void main()
{
int i,j,m,n;
i=8;
j=10;
printf("%d,%d,%d,%d\n",i,j,++i,++j);
}
运行结果是:9,11,9,11
第二个:
#include <stdio.h>
void main()
{
int i,j,m,n;
i=8;
j=10;
printf("%d,%d,%d,%d\n",i,j,i++,j++);
}
运行结果是:8,10,8,10
怎么这样呢??i++在printf 中执行是怎么回事呢,望大大解答!
我主要不明白,在printf的括号中,比如说
printf("%d,%d,%d,%d\n",i,j,++i,++j);
中它的执行顺序,是从左往右依次过来,输出i,j,++i,++j的值呢,还是把i++,++j的值运算了在输出所有值 展开
第一个:
#include <stdio.h>
void main()
{
int i,j,m,n;
i=8;
j=10;
printf("%d,%d,%d,%d\n",i,j,++i,++j);
}
运行结果是:9,11,9,11
第二个:
#include <stdio.h>
void main()
{
int i,j,m,n;
i=8;
j=10;
printf("%d,%d,%d,%d\n",i,j,i++,j++);
}
运行结果是:8,10,8,10
怎么这样呢??i++在printf 中执行是怎么回事呢,望大大解答!
我主要不明白,在printf的括号中,比如说
printf("%d,%d,%d,%d\n",i,j,++i,++j);
中它的执行顺序,是从左往右依次过来,输出i,j,++i,++j的值呢,还是把i++,++j的值运算了在输出所有值 展开
展开全部
i++是先取i的值,然后再给i赋值。
++i是先给i赋值,再取i的值。
i++在printf中执行是先输出i的值,然后再把i+1赋值给i。
++i是先给i赋值,再取i的值。
i++在printf中执行是先输出i的值,然后再把i+1赋值给i。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先把i的值给printf输出,然后执行i=i+1。而++i是先做加1的运算,然后再把值给printf输出
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询