;在编译器预期 void 之前。 我真正的问题是: 我可以输入 ID 和姓名,但在 printf 中看不到它。 难道是因为我的数据没有记录到指针中? 如何解决这个问题?
#include <stdio.h>
struct data
{
int* ID;
char* Name;
};
int main(void)
{
struct data data1;
struct data *data1Ptr;
data1Ptr = &data1;
printf("New ID:\n");
scanf("%d",data1.ID);
printf("Name:\n");
scanf("%s",data1.Name);
printf("The new ID is \n",&data1.ID);
printf("The name input is \n",&data1.Name);
return 0;
}
最佳答案
您没有正确使用 printf()
。
它不会神奇地处理任何参数的格式化:您必须使用格式说明符(以 % 开头)告诉它您要发送什么参数,以及您希望它们的值去往何处
)。
您需要:
printf("The new ID is %d\n", data1.ID);
printf("The name input is '%s'\n", data1.Name);
另请注意,ID
不应该是 int *
,它需要存储一个实际的整数,因此只能是 int
。
关于c - 如何打印用户输入的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15815202/