【发布时间】:2020-10-28 18:59:36
【问题描述】:
我很抱歉标题不好,所以我的代码是这样的:
struct Point{
double X,Y;
};
int main() {
int i,j;
struct Point arr[5];
for(i=0;i<5;i++){
arr[i].X=11;
arr[i].Y=22;
}
for(i=0;i<5;i++){
printf("%d- X = %d -- Y = %d\n",i+1,arr[i].X,arr[i].Y);
}
getchar();
return 0;
}
作为输出我得到
1- X = 0 -- Y = 0
2- X = 0 -- Y = 0
3- X = 0 -- Y = 0
4- X = 0 -- Y = 0
5- X = 0 -- Y = 0
但是当我查看 VSC 调试部分时,我发现我的 arr[0] 具有 X 和 Y 值,它们是正确的值。所以我假设存在打印问题,但无法弄清楚原因。
另外,我可能会遗漏很多关于 struct array 和将 int 分配给它们的信息,但请告诉我! 谢谢。
编辑:我在 vsc 调试屏幕上表示歉意,它显示时没有双数字,所以我认为使用 %d 是可以的.. 非常感谢!
【问题讨论】:
-
尝试阅读
printf的文档。对于字符串中的%d占位符,它会说什么?它说什么应该是double的占位符?