gpt4 book ai didi

c - 在 C 中打印长度超过 80 个字符的行

转载 作者:行者123 更新时间:2023-11-30 19:37:32 25 4
gpt4 key购买 nike

我不知道为什么这不起作用。我正在尝试打印长度超过 80 个字符的行(来自输入)。但我根本没有得到正确的字符。我不确定我做错了什么。那里有人知道吗??

注意:我不想让你给我写一个执行此功能的全新程序(打印超过 80 行的行)。我只是想知道我的程序错误的一面。更正

注意:最后一行覆盖前面的行。

#include <stdio.h>
#define MAXARRAYSIZE 500

char c;
int i = 0;
int j = 0;
int jCopy = 0;
char line[MAXARRAYSIZE];
char linesToPrint[MAXARRAYSIZE][MAXARRAYSIZE];

void emptyArray(char theArray[]);

void InsertArrayIntoArray(char to[MAXARRAYSIZE][MAXARRAYSIZE], char from[], int toIndex, int lengthSoFar);

void printArray(char theArray[MAXARRAYSIZE][MAXARRAYSIZE], int lengthSoFarX);

int main(void) {
while ((c = getchar()) != EOF) {
if (i > MAXARRAYSIZE) {
i = 0;
}
if (j > MAXARRAYSIZE) {
j = 0;
}
if (c != '\n') {
line[i] = c;
i++;
//printf("%d",i);
} else {
printf("\n j:%d \n i:%d", j, i);
j++;
jCopy = j;
if (i >= 10) {
InsertArrayIntoArray(linesToPrint, line, j, i);
//printArray(linesToPrint, j, i);
}
emptyArray(line);
i = 0;
}
}
printArray(linesToPrint, jCopy);
}

void emptyArray(char theArray[]) {
int i;
for (i = 0; i < sizeof(theArray) / sizeof(theArray[0]); i++) {
theArray[i] = 0;
}
}

void InsertArrayIntoArray(char to[MAXARRAYSIZE][MAXARRAYSIZE], char which[], int toSize, int whichSize) {
int i, j;
//printf("\n To size: %d \t Which Size: %d",toSize,whichSize);
for (i = 0; i < toSize; i++) {
for (j = 0; j < whichSize; j++) {
to[i][j] = which[j];
}
}
}

void printArray(char theArray[MAXARRAYSIZE][MAXARRAYSIZE], int lengthSoFarX) {
int i, j;
for (i = 0; i < lengthSoFarX; i++) {
printf("\n Line %d :", i + 1);
printf(" %s\n", theArray[i]);
}
}

最佳答案

首先,不能采用 sizeof(theArray),因为正如 Joachim Pileborg 指出的,theArray 是指针。第二个错误是在 InsertArrayIntoArray 函数中。应该是这样的:

void InsertArrayIntoArray(char to[MAXARRAYSIZE][MAXARRAYSIZE], char which[], int toSize, int whichSize) {
int i, j;
//printf("\n To size: %d \t Which Size: %d", toSize, whichSize);
for (j = 0; j < whichSize; j++) {
to[toSize][j] = which[j];
}
}

关于c - 在 C 中打印长度超过 80 个字符的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39724402/

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