u013421512
coco1312
采纳率30.2%
2015-11-21 20:29 阅读 6.1k

C填空题:从键盘输入一个十六进制字符串,将其转换为十进制数

#include
int change(char *s)
{
int sum=0;
while(*s)
{
if(*s>='a'&&*s<='z')
sum=();
else if(*s>='A'&&*s<='Z')
sum=();
else if(*s>='0'&&*s<='9')
sum=();
();
}
return sum;
}
void main()
{
char a[81];
int c,(*p)();
gets(a);
p=();
c=(*p)(a);
printf("%d\n",c);
}
填空题:从键盘输入一个十六进制字符串,将其转换为十进制数。函数change()实现转换,主函数通过函数指针调用转换函数,求教大侠解释

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • caozhy 从今以后生命中的每一秒都属于我爱的人 2015-11-21 20:50
     #include <stdio.h>
    int change(char *s)
    {
        int sum=0;
        while(*s)
        {
            if(*s>='a'&&*s<='z')
                sum=(*s-'a' + 10 + sum);
            else if(*s>='A'&&*s<='Z')
                sum=(*s - 'A' + 10 + sum);
            else if(*s>='0'&&*s<='9')
                sum=(*s - '0' + 10 + sum);
            ();
        }
        return sum;
    }
    void main()
    {
        char a[81];
        int c,(*p)();
        gets(a);
        p=();
        c=(*p)(a);
        printf("%d\n",c);
    }
    
    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2015-11-21 20:50

    还有一个括号,填s++

    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2015-11-21 21:10
     sum=(*s-'a' + 10 + sum); -> sum=(*s-'a' + 10 + sum * 10); 别的类似
    
    点赞 评论 复制链接分享

相关推荐