4.2 填空题
(337) 以下程序运行后的输出结果是____ 。
main()
{
int p=30;
printf("%d\n",(p/3>0 ? p/10 : %3));
}
(338) 下面程序的输出是_____,为什么?
void foo(void)
{
unsigned int a = 6;
int b = -20;
((a+b) > 6) ? puts("> 6") : puts("<= 6");
}
(339) 下列程序段的输出结果是_____。
printf("%d, %d", NULL, EOF);
(340) 写出语句 printf ("%d, %o, %x", 0x12, 12, 012); 的输出结果。
(341) 写出下列程序段的输出结果。
#define F(x) x - 2
#define D(x) x*F(x)
printf("%d,%d", D(3), D(D(3))) ;
(342) 下面程序的输出是______。
void g(int**);
main()
{
int line[100], i;
int *p=line;
for (i=0; i<100; i++)
{
*p=i;
g(&p);
}
for (i=0; i<100; i++)
{
printf("%d\n",line[i]);
}
}
void g(int**p)
{
(**p)++;
(*p)++;
}
4.3 问答与设计
(343) 下面的语句将打印什么?
a. printf("abcdefghijk");
printf("lmnop/n");
b. printf("hello /n C !");
c. printf("hello \n C !");
d. int num;
num = 2;
printf("%d + %d = %d", num, num, num+num);
(344) 指出下面程序的错误并改正:
#include
void main(void)
{
int x;
float y;
scanf("%d%f", &x, &y);
printf("%d", add_up(x, y));
}
float add_up(int x, float y)
{
return x+y;
}
(345) 下列程序在运行时可能会出错,原因是什么?
# include
void main( )
{
char *s;
gets(s);
puts(s);
}
阅读(650) | 评论(0) | 转发(0) |