难以声明结构

时间:2016-10-05 05:02:54

标签: visual-c++ data-structures scanf declare

我目前非常喜欢。所以我一直在学习专门定义和声明它们的结构。所以在这个示例中,我得到的问题是:

 scanf("%d", &mybox.topleft.x);

" myBox上"用红色加下划线,我有一个错误。我不懂为什么!我已将mybox声明为type_RECTANGLE类型的变量。以下是一些代码:

typedef struct type_COORD
{
int x, y;
};

typedef struct type_RECTANGLE
{
int topleft;
int bottomrt;
};

int main()
{
int length, width, area;
char ch;
type_RECTANGLE mybox;

//input coordinates
printf("Enter top left x coordinate...");
scanf("%d", &mybox.topleft.x);
while ((ch = getchar()) != '\n' && ch != EOF) {}

非常感谢任何帮助,我相信我会犯一个非常简单的错误!

迪安

1 个答案:

答案 0 :(得分:0)

如果你看到下面的代码

scanf("%d", &mybox.topleft.x);

topleft是type_RECTANGLE的成员变量,因此您可以使用mybox.topleft。但是你使用的是topleft.x,这里的topleft是一个int变量而x不是这个的任何成员。所以你不能这样输入。 如果你想为topleft输入输入,试试这个:

scanf("%d", &mybox.topleft);