黑马程序员技术交流社区

标题: 出现Abort trap :6怎么解决 [打印本页]

作者: 尹世伟    时间: 2015-5-18 21:18
标题: 出现Abort trap :6怎么解决
本帖最后由 尹世伟 于 2015-5-19 21:17 编辑
  1. /*
  2. 1.功能:输入一个8位字符串然后再输出到屏幕上;
  3. 2:如果输入的不是8位则提醒输入8位字符串。
  4. */
  5. #include<stdio.h>
  6. int main()
  7. {
  8.     char a[8];//定义一个8位字符型数组
  9.    
  10.     int count=0;//定义count记录输入字符串的字符个数
  11.     do
  12.     {
  13.         printf("请输入一个8位字符串:\n");//提示用户输入
  14.         scanf("%s",a);                 //接收用户输入
  15.         while(a[count]!='\0')          //判断数组元素个数
  16.         {
  17.             count++;
  18.         }
  19.     }
  20.     while(count!=8);
  21.     printf("您输入的是:%s\n",a);        //输出字符串
  22.     return 0;
  23. }
复制代码
运行之后的结果是
  1. localhost:Day1 pcbeta$ cc 01-注释.c
  2. localhost:Day1 pcbeta$ ./a.out
  3. 请输入一个8位字符串:
  4. qw
  5. 请输入一个8位字符串:
  6. qwertyui
  7. 您输入的是:qwertyui
  8. Abort trap: 6
  9. localhost:Day1 pcbeta[        DISCUZ_CODE_19        ]nbsp;
复制代码
请问我这代码什么问题 怎么老是有这个Abort trap:6
作者: kansiliyundi    时间: 2015-5-18 21:32
同问,我也出现这个问题了,是不是xcode版本问题啊?经常出现
作者: 万物长生    时间: 2015-5-18 21:37
百度了一下,发现可能是越界的问题,楼主可以向这个方向找资料看看.
作者: 香草芭芙    时间: 2015-5-18 22:21
  1. /*
  2. 1.功能:输入一个8位字符串然后再输出到屏幕上;
  3. 2:如果输入的不是8位则提醒输入8位字符串。
  4. */
  5. #include <stdio.h>
  6. int main()
  7. {
  8.     char a[9]; //定义一个8位字符型数组 <--- 定义8个字节的空间来存输入的内容, 没有'\0'的位置, 所以下面打印会发生错误
  9.     //    char a[9]; <--- 改成9 就能通

  10.     int count = 0; //定义count记录输入字符串的字符个数
  11.     do {
  12.         printf("请输入一个8位字符串:\n"); //提示用户输入
  13.         scanf("%s", a); //接收用户输入
  14.         while (a[count] != '\0') //判断数组元素个数
  15.         {
  16.             count++;
  17.             printf("%d\n",a[count]);
  18.         }
  19.     } while (count != 8);
  20.     printf("您输入的是:%s\n", a); //输出字符串 <--- 没有结束符'\0'的字符串, 系统会一直往下找'\0',角标越界错误

  21.     //=== 分割线 ====================================
  22.     char c[] = "helloworld"; // <---10个字符串
  23.     printf("%zi\n",sizeof(c));// <---系统分配 11个字节空间来存储.

  24.     return 0;
  25. }
复制代码

作者: 尹世伟    时间: 2015-5-19 21:14
香草芭芙 发表于 2015-5-18 22:21

厉害,厉害:handshake
作者: 祝皓阳    时间: 2015-5-23 19:57
恩恩,学习了,好厉害呀




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2