以前一直没明白i++和++i的区别
现在可以用式子来表现一下 就一目了然了
int i=10,j=10;
printf("i=%d,j=%d\n",i,j);//i=10,j=10
printf("i=%d,j=%d\n",i++,j++);//i=10,j=10
printf("i=%d,j=%d\n",i,j);//i=11,j=11
printf("i=%d,j=%d\n",--i,--j);//i=10,j=10
printf("i=%d,j=%d\n",i,j);//i=10,j=10
这样就是可以明白了。
关于精度问题可以看以下例子
float a =12.1;
double b=a;
printf("%f",a);//12.100000
printf("%lf",b);//12.100000
对于scanf函数,&a代表把取到的值放在a所代表的内存地址的空间内,
还有一点就是scanf函数的输入值可以利用特殊的字符来隔开,例如
char c1,c2,c3;
printf("请出入三个字符:");
scanf("%c,%c,%c",&c1,&c2,&c3);
printf("c1=%c,c2=%c,c3=%c",c1,c2,c3);
结果:请出入三个字符:a,s,d
c1=a,c2=s,c3=d