【问题标题】:How do i "delete" useless , after scanf()我如何在 scanf() 之后“删除”无用的
【发布时间】:2020-02-12 08:06:55
【问题描述】:

这是我的一段代码: 输出看起来像:12、44、55, 我需要删除最后一个“,”,我尝试了一切。

while ((r = scanf("%d", &v)) > 0){
        printf("%d", v);
        printf(", ");
        }

【问题讨论】:

  • 不要删除它。编写你的程序,这样它就不会添加最后一个。有一种方法......如果你考虑一下。 :)
  • 有一种方法...如果您考虑一下...或者如果您阅读了 dbush 的回复;)如果您觉得答案有帮助,请不要忘记“接受”:)
  • 这里有一些数字。请将它们以逗号分隔的列表形式复制到纸上。 1 2 3 4 5 6 7. 如果结尾没有逗号,你会怎么做?想象一下,如果我通过电话讲这个,你会怎么做。我想说明的(虽然已经有一个很好的答案可见)是笔和纸是一个很好的编程工具,可以让你自己清楚你要编程的解决方案。通常它甚至可以在纸上做,然后看着自己做,从而几乎神奇地想出一个算法。

标签: c scanf eof


【解决方案1】:

不要在每个值之后打印逗号,而是在之前在除第一个之外的每个值之前打印它:

int first = 1;
while ((r = scanf("%d", &v)) > 0){
    if (!first) printf(", ");
    first = 0;
    printf("%d", v);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-03
    • 1970-01-01
    • 2013-10-16
    • 2021-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多