标题:结构体应用,打印的时候出现乱码,请高人看看问题处在哪里?
取消只看楼主
qing_yx
Rank: 2
等 级:论坛游民
威 望:1
帖 子:25
专家分:70
注 册:2020-4-26
结帖率:100%
已结贴  问题点数:20 回复次数:3 
结构体应用,打印的时候出现乱码,请高人看看问题处在哪里?
#include<stdio.h>
#include<string.h>
#include<stdlib.h>

struct PersonList
{
    char name[20];
    char tel[20];
    char addr[20];
};

//新建信息
struct PersonList * input()
{
    struct PersonList * person ;
    struct PersonList p[20]={{"zhangsan","123","sa"},{"lisi","341","qw"}};
    static int i=0;

    person = p;

    return person;
        
}

//打印信息
void display(struct PersonList *p,int  n)
{
    int i;

    printf("%-20s%-20s%-20s\n","姓名","电话","住址");
    printf("\n");
    for(i=0;i<n;i++)
        printf("%-20s%-20s%-20s\n",p[i].name,p[i].tel,p[i].addr);  
}

int main(void)
{
    struct PersonList *p;

    p=input();  //输入信息

    display(p,2);//打印信息
   
    system("pause");
    return 0;
}
搜索更多相关主题的帖子: 应用 信息 int struct 打印 
2020-04-26 10:43
qing_yx
Rank: 2
等 级:论坛游民
威 望:1
帖 子:25
专家分:70
注 册:2020-4-26
得分:0 
如果把“新建信息”那段子程序里的结构体赋值直接放在主程序里,打印就没问题,可是我就是找不出错误的源头
2020-04-26 10:46
qing_yx
Rank: 2
等 级:论坛游民
威 望:1
帖 子:25
专家分:70
注 册:2020-4-26
得分:0 
回复 3楼 吕孟伟

难道是我编译器有问题??
2020-04-26 10:58
qing_yx
Rank: 2
等 级:论坛游民
威 望:1
帖 子:25
专家分:70
注 册:2020-4-26
得分:0 
谢谢3楼 吕孟伟 版主,我用的VS2008,估计是版本太老了,我重新下一个再试试,请问您用的什么编译器啊?
2020-04-26 11:01



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-501258-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.408261 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved