我没有获得此计划的输出。 //指针和结构 我希望得到输出为1Jatin。但是使用结构刷新指针。我不能这样做。它作为int和float工作。但不是int和char。任何人请解决这个问题。
#include <stdio.h>
struct name{
int a;
char b;
};
int main(){
struct name *ptr ,p;
ptr = &p;
printf("Enter integer:");
scanf("%d", &(*ptr).a);
printf("Enter name:");
scanf("%s", &(*ptr).b);
printf("Displaying:");
printf("%d%s",(*ptr).a,(*ptr).b);
return 0;
}
答案 0 :(得分:2)
#include <stdio.h>
#define MAX_NAME_LENGTH 32
struct name{
int a;
char b[MAX_NAME_LENGTH];
};
int main(){
struct name *ptr ,p;
ptr = &p;
printf("Enter integer:");
scanf("%d", &ptr->a);
printf("Enter name:");
scanf("%s", ptr->b);
printf("Displaying: ");
printf("%d %s\n",ptr->a,ptr->b);
return 0;
}
很多事情:
->
operator取消引用指向其成员的指针b
成员必须是一个足以存储名称字符+ null终结符('\0'
,0x00
,0
)的数组。