LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 788|回复: 5

char buffer[15]逐数组元素的以%X打印出错

[复制链接]
发表于 2005-5-16 21:01:54 | 显示全部楼层 |阅读模式

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>

  4. int main()
  5. {
  6.     char buffer[15];
  7.     int i;

  8.     strcpy(buffer, "i love you!");

  9.     for(i = 0; i < 15; i++)
  10.     {
  11.         printf("\t%X", atoi(buffer[i]));
  12.         if(0 == ((i + 3) % 8))
  13.         {
  14.             printf("\n");
  15.         }
  16.     }

  17.     return 0;
  18. }
复制代码


运行得到segment fault

如果不加atoi则输出:

  1. [mcarthor@McArthor disk]$ ./test
  2.         69      20      6C      6F      76      65
  3.         20      79      6F      75      21      0       FFFFFFF4        6F
  4.         60[mcarthor@McArthor disk]$
复制代码
发表于 2005-5-16 21:28:23 | 显示全部楼层
int atoi(const char *nptr);
回复 支持 反对

使用道具 举报

发表于 2005-5-16 23:54:11 | 显示全部楼层
Post by rickxbx
int atoi(const char *nptr);

呵呵,信息绝对有用,但线索并不是那么明显。
回复 支持 反对

使用道具 举报

发表于 2005-5-17 00:19:02 | 显示全部楼层
已经很明显了吧?我都不想补充了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-17 07:17:54 | 显示全部楼层
atoi(&buffer)???
回复 支持 反对

使用道具 举报

发表于 2005-5-17 08:41:42 | 显示全部楼层
这种问题很搞笑啊。
回复 支持 反对

使用道具 举报

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

本版积分规则

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