这是我第一次用c编程。我有这段代码应该接受用户输入的任何数字,直到输入 0。然后它应该将它们全部加起来。例如,如果他们输入 1,然后是 2,然后是 3,最后是 0,它应该打印出 6。但由于某种原因,它没有添加最后一个值。在我提到的情况下,它将打印 3 而不是 6。
#include <stdlib.h>
#include <stdio.h>
static char syscall_buf[256];
#define syscall_read_int() atoi(fgets(syscall_buf,256,stdin))
main()
{
int input;
input = syscall_read_int();
int result = 0;
input = syscall_read_int();
while (input != 0){
result = result + input;
input = syscall_read_int();
}
printf("%i\n", result);
}