【发布时间】:2020-11-21 17:17:15
【问题描述】:
我是 C 新手,需要一些有关此基本程序的帮助。我希望程序在输入后直接打印出总和。我试图将printf("..%d", sum); 放在 for 括号内,但程序在第一次输入后关闭。如果我在 For 之前和 for 括号内有一个 scanf("%d", &value);,它可以工作,但我没有得到我想要的格式。
我希望将值垂直打印,左侧应该是输入,右侧应该是输出,如您在图像中看到的那样。
这是我的代码
#include <stdio.h>
int main()
{
int sum = 0, c, value;
scanf("%d", &value);
for (c = 1; c <= value; c++)
{
sum = sum + c;
printf("..%d", sum);
scanf("%d", &value);
}
return 0;
}
【问题讨论】:
-
您好,欢迎来到 StackOverflow!当你说你没有得到你想要的格式时,你能解释一下你得到的是什么格式吗?
-
for循环中的第二个scanf是做什么用的?此外,您的printf中需要一个换行符。即printf("..%d\n", sum);. -
我现在得到的格式是这样的 1 12 33 6... 所以我首先得到输出,除此之外我必须写新的值。但我想要的是在右侧而不是左侧获得输出。
-
关于第二次scanf,就是这个问题。当我删除其中一个时,程序不起作用。对我来说很奇怪,因为我不知道为什么,我认为这会导致格式化出现问题。
-
edit 用请求的信息更新的问题。