gpt4 book ai didi

c - 为什么此代码中会产生 6 个 # 标记?

转载 作者:行者123 更新时间:2023-11-30 14:33:29 25 4
gpt4 key购买 nike

我有一个问题需要解释。

当我运行下面的代码时,系统会要求我提供 3 个值:高度、宽度和宽度。如果我输入 1 表示高度,2 表示宽度,2 表示宽度,则仅在一行上生成 6 个 # 标记,如“######”——显然没有引号。我不明白为什么要生产6个。我希望产品有 4# 标记。请帮忙!

使用上述值运行后,###### 将成为产品。

#include <cs50.h>
#include <stdio.h>

int main(void)
{
int height = get_int("Height of Pyramid?");
int width = get_int("Length of Width?");
int widthtwo = get_int("Length of Widthtwo?");
for (int i = 0; i < height; i++)
{
for (int j = 0; j < width; j++)
{
for (int a = 0; a < widthtwo; a++)
{
printf("#");
}

printf("#");
}
printf("\n");
}
}

最佳答案

删除第二个 printf("#");线。这会添加两个额外的 #,因为每次在 j 循环中都会调用它。

for (int i = 0; i < height; i++)
{
for (int j = 0; j < width; j++)
{
for (int a = 0; a < widthtwo; a++)
{
printf("#"); // Executed 1*2*2 times
}

printf("#"); // Executed 1*2 times - Remove this line
}
printf("\n");
}

这可以帮助您形象化它:

i j a
0 0 0 #
0 0 1 ##
0 0 1 ### (last # is from 2nd printf)
0 1 0 ####
0 1 1 #####
0 1 1 ###### (last # is from 2nd print)

关于c - 为什么此代码中会产生 6 个 # 标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59292578/

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