cでプログラミングするのは初めてです。私は、0 を入力するまで、ユーザーが入力した数字を受け取ることになっているこのコードを持っています。その後、それらをすべて追加する必要があります。たとえば、1、2、3、最後に 0 と入力すると、6 が出力されるはずですが、何らかの理由で最後の値が追加されません。私が言及したケースでは、6 ではなく 3 が出力されます。
#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);
}