如何在 运行 程序后再次将数字重置为 0

How to reset number to 0 after running program once again

我正在编写程序,将用户输入的数字之和转换为二进制、八进制和十六进制。我想再次为用户提供 运行 程序的选项,但编号不同。这就是问题所在 - 每次用户重复数字时,这些数字的总和都会添加到前一个条目中。如何停止递增?有什么办法可以将 sum 重置为 0 吗?非常感谢您的帮助!

Is there any way to reset sum to 0?

是的,在内循环之前将 sum 设置为 0。

sum = 0;
while(1)
{
    printf("Enter number: ");
    scanf("%d", &value);
    sum += value;
    if(value == 0)break;
}

此外,不要使用 while (1) 和最后的 break 条件,而是使用 do..while 循环。

sum = 0;
do {
    printf("Enter number: ");
    scanf("%d", &value);
    sum += value;
} while (value != 0);

如果用户想将数字系统与其他数字一起使用,您只需将总和变量重置为 0 -

printf("\nEnter numbers once again? (y/n)\n");
scanf(" %c", &j);
printf("\n\nENTERING ONCE AGAIN\n");

if(j == 'n'||j == 'N')break;
***else sum = 0***