我将一个struct info传递给一个函数,在该函数中,我使用scanf()将输入值分配给该结构的内部变量。内部变量是unsigned int
。
当我使用:scanf("%u",s->member)
或scanf("%u",(*s).member)
我收到警告:
windows.c:62:36:警告:格式指定了类型'unsigned int *',但参数的类型为'unsigned int'[-Wformat]
还有我跑步时出现的段故障。
如果使用s.member
或(&s).member
,则会出现编译器错误。
由于要尝试访问结构内部变量,我是否需要做一些不同的事情?
我知道scanf()显然存在问题,所以有人说要使用fgets(),这是scanf()的问题吗?
已解决,我需要使用
scanf("%u", &s->member);