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

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

慕哥9229398
TA貢獻1877條經驗 獲得超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 關注
- 333 瀏覽
添加回答
舉報
0/150
提交
取消