当前位置: 代码迷 >> C语言 >> 结构体输出问题
  详细解决方案

结构体输出问题

热度:69   发布时间:2008-04-20 17:18:25.0
结构体输出问题
程序代码:
#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;
}
搜索更多相关的解决方案: 结构体  输出  

----------------解决方案--------------------------------------------------------
scanf函数遇到空白字符就会终止读取,空白字符指空格、换行和制表符
----------------解决方案--------------------------------------------------------
当然,char c只有1个元素,你只能输入1个值呀
比如char c[100]就能接受100个字符。就是这么简单拉
----------------解决方案--------------------------------------------------------
"%d%c"改"%d %c"


----------------解决方案--------------------------------------------------------
明白....
----------------解决方案--------------------------------------------------------
我居然还范这种低级错误
----------------解决方案--------------------------------------------------------
已经改正...
----------------解决方案--------------------------------------------------------
  相关解决方案