1.有以下程序
#include <stdio.h>
main( )
{char a,b,c,d;
scanf("%c%c",&a,&b);
c=getchar(0; d=getchar();
printf("%c%c%c%c\n",a,b,c,d);
}
当执行程序时,按下列方式输入数据(从第一列开始,<CR>d代表回车,注意:回车也是一种字符)
12<CR>
34<CR>
则输入结果是
A.1234 B.12 C.12 D.12
3 34
2 。以下关于return语句的叙述中正确的是
A.一个自定义语句函数中必须有一条return语句
B.一个自定义函数中可以根据不同情况设置多条return语句
C.定义成void类型的函数中可以有带返回值的return语句
D.没有return语句的自定义函数再执行结束时不恩能够返回到调用处
3.有以下程序
#include <stdiu.h>
void fun(char *c.int d)
{
*c=*c+1;d=d+1;
printf("%c,%c,",*c,d);
}
main( )
{char b='a',a='A';
fun(&b,a); printf("%c,%c\n",b,a);
}
程序运行后的输出结果是
A.b,B,b,A B.b,B,B,A C.a,B,B,a D.a,B,a,B
4.有以下程序
#include 《stdio.h>
#define SUB(a) (a)-(a)
main()
{int a=2,b=3,c=5,d;
d=SUB(a+b)*c;
printf("%d\n",d);
}
程序运行后的输出结果是
A.0 B.-12 C.-20 D.10
5.有以下程序
#intclude <stdio.h>
main()
{ int m,n;
scanf("%d%d",&m,&n );
while (m!=n)
{ while(m>n)m=m-n;
while(m<n)n=n-m;
}
printf("%d\n,m);
}
程序运行后,当输入14 63<回车>时,输入结果是______.
ps:麻烦大家给我解答一下啊,这些题目不会做啊,请各位解释一下,说一下理由!
第四题:d=SUB(a+b)*c展开成 d=(a+b)-(a+b)*c这里为什么不是d=(a+b)*c-(a+b)*c呢?
追答因为宏只负责表达式的展开,也就是说
SUB(a+b) 变成了 (a+b)-(a+b)
后面再加个*c的话就是(a+b)-(a+b)*c,不会自动补上括号的
详细参考宏的概念