天梭智能触屏二代手表:???????c语言的问题〉?????

来源:百度文库 编辑:高校问答 时间:2024/04/19 22:27:35
编程的问题
悬赏分:0 - 离问题结束还有 14 天 23 小时
帮忙看看哪错了?
悬赏分:5 - 离问题结束还有 14 天 11 小时
我编了个程序,关于8 10 16进制换算的,如下:
main()
{
long x;
char i,a,b,c;
i=020;
printf ("10%ca\n",i);
printf (" 8%cb\n",i);
printf ("16%cc\n",i);
if (getchar ()=='a')
{
printf ("To 8,Press m\n");
printf ("To 16,Press n\n");
if(getchar ()=='m')
{
printf ("Please give me your number\n");
scanf ("%d",&x);
printf ("%o",x);
}
else if(getchar ()=='n')
{
printf ("Please give me your number\n");
scanf ("%d",&x);
printf ("%x",x);
}
else
printf ("error\n");
}
else if (getchar ()=='b')
{
printf ("To 10,Press m\n");
printf ("To 16,Press n\n");
if (getchar ()=='m')
{
printf ("Please give me your number\n");
scanf ("%o",&x);
printf ("%d",x);
}
else if (getchar ()=='n')
{
printf ("Please give me your number\n");
scanf ("%o",&x);
printf ("%x",x);
}
else
printf ("error\n");
}
else if (getchar ()=='c')
{
printf ("To 10,Press m\n");
printf ("To 16,Press n\n");
if (getchar ()=='m')
{
printf ("Please give me your number\n");
scanf ("%x",&x);
printf ("%d",x);
}
if (getchar ()=='n')
{
printf ("Please give me your number\n");
scanf ("%x",&x);
printf ("%o",x);
}
else
printf ("error\n");
}
else
printf ("error\n");

}
帮忙看一下哪错了?
怎么不好用?
谢了

你反复发贴影响正常秩序了。

问题出在‘对getchar ()’的判断上
此函数是提取输入的值,但您编的程序中没有输入信息的地方,直接就是输出I的值,然后进行判断,这样的逻辑上就是不正确的。