调试断言失败,表达式:(无符号)(c + 1)< = 256

时间:2017-05-22 19:25:11

标签: c runtime-error

我想做什么: 制作一个打开文件并阅读内容的程序(主要是字符) 关于它应该做什么的例子:

该文件包含“ABA”,应打印:字母A计数2 ||字母B数1 但是当我开始调试http://imgur.com/a/zvpWg

时,我收到此错误
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <ctype.h>

struct arr
{
     char letter;
     int count;
};

void main ()
{
   arr s[7];
   char letter;
   FILE *fp;
 fp=fopen("D:\\data.txt","r");
 if(fp==NULL)
{
    printf("Error File Not Found\n");
    getch();
    exit(1);
}
 while(fscanf(fp,"%ch",&letter)!=EOF)
 {
     for(int i=0;i<7;i++)
     {
     if(!isalpha(s[i].letter))
     {
         s[i].letter=letter;
         s[i].count=1;
         break;
     }
     else if(s[i].letter == letter)
         s[i].count++;
     break;
     }
 }
    for(int h=0;h<7;h++)
    printf("Letter: %c Count: %d ||",s[h].letter,s[h].count);
 getch();
}

我到底错在哪里?

1 个答案:

答案 0 :(得分:0)

问题可能是 -

使用整数调用

函数 isalpha(),该整数的值不是单个字节,即0-255。