鱼C论坛

 找回密码
 立即注册
查看: 2503|回复: 3

结果乱码问题

[复制链接]
发表于 2013-9-6 19:56:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
          大家好,我用的win7的64位系统,编译器用的vc++6.0,今天我写了个10进制转16进制的小程序,但不知为啥有乱码,将代码换到xp系统的vc++6.0也不行,应该不是编译器问题,贴出源码。
#include <stdio.h>
void main()
{
  int i,a,b;
  char d[16]={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
  char c[7];
  printf("please input a number:\n");
  scanf("%d",&a);
  for(b=0;a;b++)
  {
    c=d[a%16];
    a/=16;
  }
  for(i=b;i>=0;i--)
  {
   printf("%c",c);
  }
} QQ图片20130906193924.jpg

但是程序换成这样就可以了:
#include <stdio.h>
void main()
{
  int i,a,b;
  char d[16]={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
  char c[7];
  printf("please input a number:\n");
  scanf("%d",&a);
  for(b=-1;a;)
  {
    b++;
    c=d[a%16];
    a/=16;
  }
  for(i=b;i>=0;i--)
  {
   printf("%c",c);
  }
}            
1.jpg
我输入的是20,第一个图结果是?4,第二个图是14



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-9-6 20:00:39 | 显示全部楼层
最后的输出是应该是printf("%c",c【i】);不知道咋回事这个符号【】被自动去掉了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-9-6 20:03:58 | 显示全部楼层
  1. #include <stdio.h>
  2. void main()
  3. {
  4.   int i,a,b;
  5.   char d[16]={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
  6.   char c[7];
  7.   printf("please input a number:\n");
  8.   scanf("%d",&a);
  9.   for(b=0;a;b++)
  10.   {
  11.     c[b]=d[a%16];
  12.     a/=16;
  13.   }
  14.   for(i=b-1;i>=0;i--)
  15.   {
  16.    printf("%c",c[i]);
  17.   }
  18. }
复制代码

评分

参与人数 1鱼币 +3 收起 理由
pp641474412 + 3 谢谢你的热心,嘿嘿

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-9-6 20:17:54 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-30 12:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表