关于C语言的几个问题
1.一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为?答案是DEBFCA。请问后序遍历结果是怎么得出来的,以后遇到相同问题怎么解决?2.若有定义语句:char s[3][10],( *k)[3], *p;则下列赋值语句正确的是:A.p=s B.p=k;C.p=s[0];D.k=s
答案是C,请问为什么?
3.有以下程序
#include<stdio.h>
main()
{int s;
scanf("%d",&s);
while(s>0)
{switch(s)
{case 1:printf("%d",s+5);
case 2:printf("%d",s+4);break;
case 3:printf("%d",s+3);
default:printf("%d",s+1);
break;
}
scanf("%d",&s);
}
}
运行时,若输入1 2 3 4 5 0<回车>,则输出结果是?A.6566456;B.66656;C66666;D6666656
答案是A,请问为什么?
4.有以下程序
#include<stdio.h>
main()
{ int c[3]={0},k,i;
while((k=getchar())!='\n')
c[k-'A']++;
for(i=0;i<3;i++)
printf("%d",c[i]);
printf("\n");
}
若程序运行时从键盘输入ABCACC<回车>,则输出结果为?答案是213,为什么我做出来是123?怎么来的呢?
追问:嗯,这个懂了,谢谢,下面的题慢慢打,我等着,嘿嘿