В этой программе я хочу получить вход, где будет строка с некоторым int.Если никакие значения не были даны, программа просто покажет общую сумму.
Но здесь, в первомВ случае, если я использую строку с номером, то вывод 2.
Пример ввода:
4
пожертвовать 100
report
пожертвовать 500
Пример вывода:
0
100
100
0
Но обратите внимание, здесь у меня есть шанс 3 раза ввести строку, но выводится 4 раза. Итак, кто-нибудь может сказать мне, почему эта программа ведет себя странно?
#include<stdio.h>
#include<stdlib.h>
int main()
{
int T, total=0, val=0;
char input1[20];
scanf("%d",&T);
while(T--)
{
scanf(" %s",input1);
val=-1;
val=atoi(input1);
total+=val;
printf("\nInput=\"%s\" val=\"%d\"\n", input1, val);
if(val != -1)
printf("%d\n",total);
}
}