我正在为一个要求用户输入数字的程序而苦苦挣扎,如果用户输入它只会停止要求用户输入数字0
。
但是我似乎无法将输入的第二个数字的值放入Data2
,
我们如何将数字推送到用户输入的数字中,data
然后data2
将其汇总 Data + data2 并打印 sum ?
例如,用户输入1,2,0
您遇到的问题是输入,而不是列表。
尝试输入1 2 0
而不是1,2,0
,你会发现它工作得很好。(你不会得到输出1 + 2 = 3
,因为那不是你输出的。相反,你得到The sum of Popped item is 3
.
while ( Num !=0)
顺便说一句,在初始化之前第一次出现使用 Num 。如果该值恰好为 0,则程序将无法运行。尝试在to beint Num;
的顶部更改main()
int Num=99;
您push
使用单个调用该函数num
,它被存储到NewNode
两次,而不是第二个整数。
您必须使用push
整数data1
调用data2
while (1)
{
scanf("%d", &Num1);
scanf("%d", &Num2);
if (num1 == 0 || num2 == 0)
break;
Push(Top, Num1,num2); //execute the Push Function
}
而里面push
void Push(StackPointer &Top, int Num1,int num2)
{
StackPointer NewNode;
NewNode=(StackPointer)malloc(sizeof(struct Node));
NewNode->Data = Num1;
NewNode->Data2 =Num2;
NewNode->Link = Top;
Top = NewNode;
}