不知道为什么这个程序无法调试?

时间:2023-02-24 00:08:46
不知道为什么,这个程序输入后总是无法调试,不晓得是哪里出问题了,大家给个建议。ps:我用VC6.0编译的,这个程序是打印输入中单词长度的直方图。
# include <stdio.h>

#define MAXHIST 15
#define MAXWORD 11
#define IN      1
#define OUT     0

int main(void)
{
int c, i, nc, state;
int len;
int maxvalue;
int ovflow;
int wl[MAXWORD];

state = OUT;
nc = 0;
ovflow = 0;
for(i = 0; i < MAXWORD; ++i)
wl[i] = 0;
while((c = getchar())!=EOF){
if(c == ' ' || c == '\n' || c == '\t'){
state = OUT;
if(nc > 0)
if(nc < MAXWORD)
++wl[nc];
else
++ovflow;
nc = 0;
}else if (state = OUT){
state = IN;
nc = 1;
}else
++nc;
}
maxvalue = 0;
for(i = 1; i < MAXWORD; ++i)
if(wl[i] > maxvalue)
maxvalue = wl[i];

for(i = 1; i < MAXWORD; ++i){
printf("%5d - %5d : ",i, wl[i]);
if(wl[i] > 0){
if((len = wl[i] * MAXHIST / maxvalue) <= 0)
len = 1;
}else
len = 0;
while(len > 0){
putchar('*');
--len;
}
putchar('\n');
}
if(ovflow > 0)
printf("There are %d words >= %d\n", ovflow, MAXWORD);
}

7 个解决方案

#1


确认编译链接通过,按F11键

#2


我明白,我的意思是这个程序编译通过后,输入build excute,一点显示都没有。这是为什么?应该不要输入啥的吧?貌似也没有输入函数之类的。

#3


重建所有
或者安装SP
或者重装VS

#4


引用 2 楼 u014082409 的回复:
我明白,我的意思是这个程序编译通过后,输入build excute,一点显示都没有。这是为什么?应该不要输入啥的吧?貌似也没有输入函数之类的。

while((c = getchar())!=EOF){

#5


add break point in the first line in main

#7


貌似还是搞不定,蛋蛋的忧桑。

#1


确认编译链接通过,按F11键

#2


我明白,我的意思是这个程序编译通过后,输入build excute,一点显示都没有。这是为什么?应该不要输入啥的吧?貌似也没有输入函数之类的。

#3


重建所有
或者安装SP
或者重装VS

#4


引用 2 楼 u014082409 的回复:
我明白,我的意思是这个程序编译通过后,输入build excute,一点显示都没有。这是为什么?应该不要输入啥的吧?貌似也没有输入函数之类的。

while((c = getchar())!=EOF){

#5


add break point in the first line in main

#6


#7


貌似还是搞不定,蛋蛋的忧桑。