gpt4 book ai didi

c - 程序不会执行功能?

转载 作者:太空宇宙 更新时间:2023-11-04 07:04:54 26 4
gpt4 key购买 nike

我不知道我在这里做错了什么,但我正在尝试使用getchar()(一个基于通过命令行输入的字符串长度制作垂直直方图程序The C Programming Language exercises),但是当我运行它时似乎出了点问题。函数 printgraph() 应该使用 for 循环打印直方图,通过逐行打印图表 graph[][] ,其中 j 递增 y 轴,i 递增 x 轴。但是,当我运行它时,图形在到达这行代码时不会打印。代码修改了很多遍,还是没有头绪。我知道这对某些人来说也可能是一个微不足道的问题,我很抱歉我缺乏太多经验,但感谢所有帮助。

#include <stdio.h>

char graph[11][11];

void printgraph(){
int i, j;
char graph[11][11];
for(j = 0; j<=10; j++){
for(i = 0; i<=10; i++){
putchar(graph[i][j]);
}
printf("\n");
}
}
int main(){
char c, graph[11][11];
int i, j, onoroff, numchar[10];
for(i = 10; i>=0; i--)
graph[0][i] = i;
for(j=10;j>=0; j--)
graph[j][0] = j;
for(j=0;j<=9;i++)
numchar[j] = 0;
onoroff = 1;
i = 0;
while(graph[1][10] != 'O' || graph[2][10] != 'O' || graph[3][10] != 'O' || graph[4][10] != 'O' || graph[5][10] != 'O' || graph[6][10] != 'O' || graph[7][10] != 'O' || graph[8][10] != 'O' || graph[9][10] != 'O' ||graph[10][10] != 'O'){
while((c = getchar()) != EOF){
printgraph();
if(c == ' '|| c == '\n' || c == '\t'){
if(onoroff == 1){
numchar[i]++;
graph[i][numchar[i]+1] = 'O';
}
onoroff = 0;
i = 0;
}else if(onoroff == 1){
i++;
}else if(onoroff == 0){
onoroff = 1;
i++;
}
}
}
return 0;
}

最佳答案

它永远不会到达 printgraph 函数,因为您陷入了第三个 for 循环。

for(j=0;j<=9;i++)
numchar[j] = 0;

您正在递增 i 但正在测试 j

另见 NPToita 的回答

关于c - 程序不会执行功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33932178/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com