gpt4 book ai didi

c - 打印二维字符数组

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

我不断收到 nest functions are forbidden 错误。当我也尝试使用指针时,我收到错误报告“初始化从整数生成指针而不进行强制转换”。并不确定这是怎么回事。 (使用 -ansi 和 -pedantic )

#include <stdio.h>
#include <stdlib.h>


void createArt(int m) {
int i = 0, j =0, k = 1, l = 1;

char ascii_art[5][5] {
{'/','/','/','/','/'},
{'/','/','/','/','/'},
{'/','/','/','/','/'},
{'/','/','/','/','/'},
{'/','/','/','/','/'}
};

for(i; i < (5 * m); i++) {
for(j; j < (5 * m); j++) {
printf("%s", ascii_art[i][j]); /* can't print out chars */
}
}
}

int main() {
int multiplier = 0, m = 1;

printf("Enter a number: ");
scanf("%d", &multiplier);

createArt(multiplier);

return 0;
}

最佳答案

应该有一个 =char ascii_art[5][5] 之后和 char s 印有 %c , 不是 %s .

我无法重现 initialization makes pointer from integer without a cast错误,但您有几个未使用的变量和第一个 ifor(i; i < (5 * m); i++) {没有效果。你也可以把它去掉。 (另一个循环也一样)。

至少在第二个循环中(第一个也不会造成伤害)你可能想写 j=0 , 否则内部循环将只针对 i=0 执行.

如果 multiplier,您的代码也会失败大于 1 ,因为那时ij将变得大于 5并且您将尝试越界访问数组。

关于c - 打印二维字符数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21537778/

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