数字字符问题还有返回值类型出错?

www_April 2017-04-17 08:47:57
#include<stdio.h>
void f(int x,int y)
{
char res[10]={0};
int i=0,rem;
do
{
rem = x%y;
x=x/y;
if(rem<10)
{
res[i]='0'+rem;
}else{
res[i]='A'+rem-10;
i++;
}while(x!=0);
i--;
for(;i>=0;i--)
{
printf("%c",res[i]);
}
printf("\n");
}
void main(void)
{
f(23,10);
f(45,8);
f(50,16);

}

答案输出结果是22
55
32
1.不明白为什么%c输出是数字,res[]是字符数组,而且运算也是与字符进行的,结果是数字字符才对….
2.在VC6.0里面编辑上面代码,第24行出现syntax error : 'type'错误,仔细检查没有抄错。。

刚学C语言,很多问题请各位指教!!
...全文
158 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
www_April 2017-12-10
  • 打赏
  • 举报
回复
手机上发帖为啥总是跳出null
自信男孩 2017-04-18
  • 打赏
  • 举报
回复
#include<stdio.h>

void f(int x, int y)
{
    char res[10]={0};
    int i=0, rem;
    do
    {
        rem = x % y;
        x = x / y;
        if(rem < 10) {
            res[i] = '0' + rem;
        }else {
            res[i] = 'A' + rem - 10;
        }
        i++;
    }while(x != 0);
    i--;
    for(;i>=0;i--)
    {
        printf("%c",res[i]);
    }
    printf("\n");
}
void main(void)
{
    f(23,10);
    f(45,8);
    f(50,16);

}
缺少括号,在while (x != 0);前缺少一个括号; %c能够输出数字,因为该数字非数值数字,这个数字是ASCII码的值,数字'0' ~'9'用十进制表示就是48~57, (0x30~0x39)
www_April 2017-04-18
  • 打赏
  • 举报
回复
引用 3 楼 cfjtaishan 的回复:
#include<stdio.h>

void f(int x, int y)
{
    char res[10]={0};
    int i=0, rem;
    do
    {
        rem = x % y;
        x = x / y;
        if(rem < 10) {
            res[i] = '0' + rem;
        }else {
            res[i] = 'A' + rem - 10;
        }
        i++;
    }while(x != 0);
    i--;
    for(;i>=0;i--)
    {
        printf("%c",res[i]);
    }
    printf("\n");
}
void main(void)
{
    f(23,10);
    f(45,8);
    f(50,16);

}
缺少括号,在while (x != 0);前缺少一个括号; %c能够输出数字,因为该数字非数值数字,这个数字是ASCII码的值,数字'0' ~'9'用十进制表示就是48~57, (0x30~0x39)
懂了,试了下%d输出对应的十进制数值
paschen 2017-04-17
  • 打赏
  • 举报
回复
你只有do,do后面还要有while才行啊 而且你大括号不对称,自己检查一下
wang0635 2017-04-17
  • 打赏
  • 举报
回复
1、输出结果就是几个数字字符,我们把它当成数字了 2、do {} 后面必须有 while (...) 才行,你那里成了 void main 了

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧