【发布时间】:2021-06-04 18:42:25
【问题描述】:
我正在尝试使用下面的代码打印用户输入的所有数字,但不是打印所有输入的数字,而是只打印我输入的最后一个数字。
#include<stdio.h>
int display(int n, int a, int b)
{
printf("\n\nOrdered pairs are: ");
for(int j=0;j<n;j++)
{
printf("(%d,%d) ",a,b);
}
return 0;
}
int main()
{
int num,i,j,x,y;
printf("Total number of points: ");
scanf("%d",&num);
for(i=0;i<num;i++)
{
printf("\n\nPoint #%d: \n",i+1);
printf("x=");
scanf("%d",&x);
printf("y=");
scanf("%d",&y);
printf("Point #%d: (%d,%d)",i+1,x,y);
}
display(i,x,y);
return 0;
}
【问题讨论】:
-
你一直在
main的循环中覆盖相同的变量来存储新的坐标,所以没有办法取回旧的坐标。您也许可以将坐标存储在一个数组中,最好是malloc'd 一个,因为您事先不知道点的总数。 -
你保存了其余的输入吗?
a和b只是 2 个整数。你需要一个数组。
标签: c