大家帮我看看这两道作业题吧???
1.问以下程序输出结果是什么?
union pw
{ int i;char ch[2];} a;
main()
{a.ch[0]=13; a.ch[1]=0;printf("%d",a.i);}
A)13 B) 14 C) 208 D) 209
2.填空题:函数fun(char *s,int a)的功能是采用递归的方法将16进制的字符串转换成10进制整数作为函数的返回值,若字符串要不是16进制的字符串,则函数的返回值是-1,a的初值是0。
fun(char *s,int a)
{int i;
if(第一问?) i=*s-'0';
else if(*s >= 'A' && *s <= 'F') 第二问??;
else
if(*s>='a' && *s<='f') 第三问??;
else 第四问??;
a = a*16+i;
if(*(s+1)!='\0') fun(第五问??);
else return(a);
}
问题点数:20、回复次数:5Top
1 楼helanshan(C++)回复于 2004-12-03 19:59:18 得分 0
自己测试吧..Top
2 楼gaolouke(高楼客)回复于 2004-12-03 20:05:17 得分 0
1.A (i默认值为0)
Top
3 楼pcboyxhy(-273.15℃)回复于 2004-12-03 20:12:05 得分 20
1.A
2.
1. *s>='0' && *s<=9
2.i=*s-'A'+10
3.i=*s-'a'+10
4.return -1
5.s+1,aTop
4 楼bjstcm(快毕业了~~~)回复于 2004-12-03 20:16:46 得分 0
楼上正解
除了 *s>='0' && *s<=9
Top
5 楼liujingfu123(Oh_My_GoD)回复于 2004-12-03 20:17:51 得分 0
又是作业题目?
自己做啦…………Top




