C++編程中,輸入int id[N]后,在后面的函數(shù)中,輸入了一個id[i],再調(diào)用函數(shù)顯示出來(運行中)比如我輸入函數(shù)中,先輸入了,id[i]的值為01,可是我再調(diào)用另一個函數(shù),顯示這個數(shù)字了成了4218944。 struct student student[N];...int id[N];...scanf("%d",&student[i].id);(輸入函數(shù)中)...printf("%d",student[i].id);(顯示函數(shù)中)怎么改呢?
2 回答

收到一只叮咚
TA貢獻1821條經(jīng)驗 獲得超5個贊
數(shù)字變成了4218944的原因應(yīng)該是你沒訪問到你輸入的那個值,而是訪問到其它未初始化的值了。
你的描述有點混亂,沒理解到這跟id[i]有什么關(guān)系。
如果你是scanf("%d",&student[i].id);后printf("%d",student[i].id);且i值相同,那么輸出應(yīng)該就是相同的。

慕哥9229398
TA貢獻1877條經(jīng)驗 獲得超6個贊
#include <stdio.h>
#include <stdlib.h>
void input(int n ,double *p)
{
int i;
for(i=0;i<n;i++)
scanf("%lf",(p+i));
return ;
}
int main()
{
int n,i;
double a[1000];
scanf("%d",&n);
input(n,a);
for(i=0;i<n;i++)
printf("%f\n",a[i]);
return 0;
}
- 2 回答
- 0 關(guān)注
- 329 瀏覽
添加回答
舉報
0/150
提交
取消