C语言程序设计之基础易错题锦集2
自加自减
代码2_0_1
#include<stdio.h>
main(){
int a,b,c,d;
a=b=c=d=10;
printf("%d\n", a++);
printf("%d\n", ++b);
printf("%d\n", c--);
printf("%d\n", --d);
}
运行结果2_0_1

后缀:使用变量之后再自加或者自减;前缀:自加或自减之后再进行运算。
代码2_0_2
#include<stdio.h>
main(){
int n=2,k=0;
while(k++&&n++>2);
printf("%d %d\n", k, n);
}
运行结果2_0_2

没有进入while循环,故而自加没运行。
问题2_1
以下程序输出结果是?
#include<stdio.h>
main(){
double d=3.2;
int x,y;
x = 1.2;
y = (x+3.8)/5.0;
printf("%d", d*y);
}
解答2_1
首先程序先执行 x=1.2;根据赋值运算的类型转换规则,先将 double 型的常量 1.2 转换成 int 型,即取整为 1。然后将 1 赋给变量 x,接下来执行语句 y=(x+3.8)/5.0,结果为 0。于是变量 y 的值为 0,d*y 的值也为 0。
问题2_2
以下程序输出结果是?
#include<stdio.h>
struct st{
int x;
int *y;
}*p;
int dt[4] = {
</

最低0.47元/天 解锁文章
967

被折叠的 条评论
为什么被折叠?



