我的嵌套結構程序發送錯誤。嵌套結構程序使用C
這裏我使用了兩種結構。
#include <stdio.h>
void main()
{
struct time
{
int min;
int hour;
int sec;
};
struct t
{
int c;
struct time t1;
struct time t2;
}p;
scanf("%d", &p.c);
scanf("%d%d%d", &p.t1.minute, &p.t1.hour, &p.t1.second);
scanf("%d%d%d", &p.t2.minute, &p.t2.hour, &p.t2.second);
printf("%d%d%d", p.p1.min, p.p1.hour, p.p1.sec);
printf("%d%d%d", p.p2.min, p.p2.hour, p.p2.sec);
}
運行此代碼後,我得到以下錯誤。
struct time’ has no member named ‘minute’
nested.c:17: error: ‘struct time’ has no member named ‘second’
nested.c:18: error: ‘struct time’ has no member named ‘minute’
nested.c:18: error: ‘struct time’ has no member named ‘second’
我明白你是一個初學者,但嘗試使用你在定義中使用的同名:t1.min,t1.sec等 – HAL9000
結構成員是'min'和'sec',但你可以訪問'minute'和'秒'。 –
我瞭解編譯器警告和錯誤消息可能會不時變得模糊。但是在這種情況下:_「struct time沒有名爲second的成員」_應該提示您查看'struct time'的定義,並且應該能夠推斷出它的成員確實不會被稱爲'second'或「分鐘」,但是「分鐘」和「秒」。只需在第17行和第18行分別用'sec'和'min'代替'second'和'minute'。這不是火箭科學 –