我目前非常喜欢。所以我一直在学习专门定义和声明它们的结构。所以在这个示例中,我得到的问题是:
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) {}
非常感谢任何帮助,我相信我会犯一个非常简单的错误!
迪安
答案 0 :(得分:0)
如果你看到下面的代码
scanf("%d", &mybox.topleft.x);
topleft是type_RECTANGLE的成员变量,因此您可以使用mybox.topleft。但是你使用的是topleft.x,这里的topleft是一个int变量而x不是这个的任何成员。所以你不能这样输入。 如果你想为topleft输入输入,试试这个:
scanf("%d", &mybox.topleft);