gpt4 book ai didi

c - 如何使用 C 语言将 + 添加为字符串?

转载 作者:行者123 更新时间:2023-12-05 03:32:41 24 4
gpt4 key购买 nike

我正在尝试使用 for 循环生成 1-5 的数字并显示它们的总和。我的目标是获得如下所示的输出:

1 + 2 + 3 + 4 + 5 = 15

但相反,我得到了输出:

+ 1 + 2 + 3 + 4 + 5 = 15

    #include <stdio.h>

void main()
{
int a, sum = 0;
for (a = 1; a <= 5; a++)
{
printf("+\t%d\t",a);
sum = sum + a;
}
printf("=\t%d", sum);
}

最佳答案

每当输出由某个值分隔的列表时,都会经常遇到这种情况。问题是您有 5 个值要输出,但只有 4 个分隔符。如果您不做任何特别的事情,那么您将输出 5 个分隔符,这正是您的示例中发生的情况。即使您将分隔符移到您的值之后,您的值仍然会过多。

我更喜欢这样做的方式是:

for (a = 1; a <= 5; ++a)
{
if (a > 1) printf("\t+\t");
printf("%d", a);
sum += a;
}

与在循环外输出一些值相比,我更喜欢这种方法的原因是因为通常你输出的东西更复杂,可能涉及额外的计算或函数调用,我不喜欢重复这些代码。

所以,如果我知道我将要输出另一个东西,我只会输出一个分隔符。这意味着,为除第一次之外的每个循环迭代输出一个分隔符。

我也喜欢使用前缀样式,因为循环中第一项的条件通常比最后一项的条件简单。它还与涉及标志的不同方法兼容:

int first = 1;
for (a = 1; a <= 5; ++a)
{
if (!first) printf("\t+\t");
first = 0;
printf("%d", a);
sum += a;
}

还有许多其他方式可以让您看到这种模式的发生。并且可能有各种形式的优化它会降低可读性。但这种方法简单易行。

关于c - 如何使用 C 语言将 + 添加为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70417109/

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