结构体输出问题
程序代码:
#include "stdio.h" #include "conio.h" #include "stdlib.h" typedef struct { int a; char c; //为什么这里改成数组,就能将输入的显示出来 }S; S * se() { S *p1; if((p1=(S*)malloc(sizeof(S)))==NULL) { printf("内在分配失败"); return NULL; } scanf("%d%c",&p1->a,&p1->c); //例如输入23 a ,输出却是23, 后面的a跑到哪里去了呢 return p1; } int main() { S *p; p=se(); printf("%d,%c\n",p->a,p->c); getch(); free(p); return 0; }