啊哈磊_编程从这里起步

标题: 新手求问:编译成功,但是一运行系统就崩溃,原因是什么呢? [打印本页]

作者: 月先生    时间: 2015-12-17 23:59
标题: 新手求问:编译成功,但是一运行系统就崩溃,原因是什么呢?
代码实现的是输入小于80位的格雷码,转换为自然二进制码,编译没问题,但是运行后输入一个数系统就会崩溃,请问原因是什么呢?
#include <stdio.h>
#include <stdlib.h>
int main()
{
        char a[81];
    int b[80],i,n;
    printf("请输入格雷码,按s键结束输入\n");
    for(i=0;i<=80;i++){
                a[i]=getche();
        if(a[i]=='s')
                        break;
        b[i]=atoi(a[i]);//将单个字符转换为数字
    }
    i=i-1;
    printf("你输入的格雷码是:\n");
    for(n=0;n<=i;n++)
                printf("%d",b[n]);
    printf("输出的自然二进制码:\n");
    for(n=1;n<=i;n++){
                b[n]=b[n]^b[n-1];
        printf("%d",b[i]);
    }
        system("pause");
        return 0;
}



作者: rosynirvana    时间: 2015-12-21 18:08
为什么要用getche?
作者: 月先生    时间: 2015-12-23 11:04
rosynirvana 发表于 2015-12-21 18:08
为什么要用getche?

抱歉,回复有些晚!主要是想输入字符后可以不用回车键,这样比较方便!




欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2