标题:关于结构体的一点儿疑问
只看楼主
BStatistics
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-8-16
结帖率:0
已结贴  问题点数:20 回复次数:2 
关于结构体的一点儿疑问
程序代码:
#include "stdafx.h"
#include "stdio.h"

void main()                    
{
    struct aa
    {
        char biaoji[20];
        char num[20];
        char xulie[50];
    }st;
    FILE *fp;
    FILE *fp2;
    fp=fopen("ba11.txt","r");
    fp2=fopen("zhuanba11.txt","w");

    if (fp==NULL)
    {
        printf("文件无法打开!\n");
    }
    while (!feof(fp))
    {
        fscanf(fp,"%s%s%s",&st.biaoji,&st.num,&st.xulie);
        fprintf(fp2,">%s %s\n%s\n",st.biaoji,st.num,st.xulie);
    }
}

这是帮生科院的同学写的一个很简单的转换文件格式的小算法,我现在有个问题搞不清:1.为什么fscanf()语句中,&st.biaoji前面的&加与不加结果一样?2.可不可以将结构体变量st定义成一个数组?比如说st[1000],然后while(!feof(fp))中定义一个int i=0; i++,然后st[i].biaoji,感觉定义成一个结构体变量数组更好理解。
ba11.rar (519 Bytes)
搜索更多相关主题的帖子: 疑问 结构体 color 
2013-03-15 10:35
yuccn
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:何方
等 级:版主
威 望:167
帖 子:6809
专家分:42393
注 册:2010-12-16
得分:20 
1.为什么fscanf()语句中,&st.biaoji前面的&加与不加结果一样
读取信息时候,要把地址给它,& 就是把st.biaoji的地址给接口

2.可不可以将结构体变量st定义成一个数组?比如说st[1000],然后while(!feof(fp))中定义一个int i=0; i++,然后st[i].biaoji,感觉定义成一个结构体变量数组更好理解。
可以的,只要保证数据读入格式和读出格式一样就行了

我行我乐
我的博客:
http://blog.yuccn. net
2013-03-15 12:32
BStatistics
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-8-16
得分:0 
回复 2楼 yuccn

O(∩_∩)O谢谢!
2013-03-15 15:11



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




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

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