A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 尹世伟 中级黑马   /  2015-5-18 21:18  /  14100 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 尹世伟 于 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

5 个回复

倒序浏览
同问,我也出现这个问题了,是不是xcode版本问题啊?经常出现
回复 使用道具 举报
百度了一下,发现可能是越界的问题,楼主可以向这个方向找资料看看.
回复 使用道具 举报
  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. }
复制代码
回复 使用道具 举报 2 0

厉害,厉害:handshake
回复 使用道具 举报
恩恩,学习了,好厉害呀
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马