江苏省高等学校计算机等级考试
新版全真模拟试卷系列
二级c语言
全真模拟试卷 2009试卷专用版
中的问题
第十份
填空7
#include<stdio.h>
int*p;
main()
{int a=1,b=2,c=3;
p=&b;
pp(a+c,&b)
printf("(1)%d %d\n",a,b,*p);
}
pp(int a,int* b)
{ int c=4;
*p=*b+c;
a=*p-c;
printf("(2)%d %d\n",a,*b,*p);
}
我的错误答案: (2)2 2 6
(1)1 2 2
填空12
#include<stdio.h>
main()
{ int a=1,b=2,c=3,d;
d=fun(&s,&b,c);
printf("%d,%d,%d,%d",a,b,c,d);
}
fun(int *a,int *b,int c)
{ *a=(*b)++;
return(--c);
}
我的错误答案: 1 2 3 2
第七份
填空11
#include "stdio.h"
void num()
{ extern int x,y;int a=15,b=10;
x=a-b;y=a+b;
}
int x,y;
main()
{ int a=7,b=5;
x=a+b;y=a-b;
num();
printf("%d,%d\n",x,y);
getch();
}
我的错误答案:12,-2
不是说了 viod定义的函数没有返回值么,为什么还是其他答案??
填空12
#include<stdio.h>
void fun(char *a,char *b)
{ a=b;
(*a)++;
}
main()
{ char c1='A',c2='a';
char *p1,*p2;
p1=&c1; p2=&c2;
fun(p1,p2);
printf("%c%c\n",c1,c2);
getch();
}
我的错误答案: ba
第六份
选择23
#include<stdio.h>
main()
{ int x=10, *p=&x;
printf("%d,%d",++x,++*p);
getch();
}
我的错误答案:11,12 好奇怪啊,为什么是彻底相反的??
打击帮帮忙,答案我知道,我都运行过了,但是为什么是那样的答案???解答下吧,感激不尽的~~~