标题:自学C遇到不懂的地方 希望各位帮忙解答 主要是两个score 以及 用char score ...
只看楼主
sanjianfei
Rank: 2
等 级:论坛游民
帖 子:48
专家分:53
注 册:2012-2-21
结帖率:87.5%
已结贴  问题点数:10 回复次数:2 
自学C遇到不懂的地方 希望各位帮忙解答 主要是两个score 以及 用char score[10]来保存分数
#include<stdio.h>
#include<stdlib.h>
struct st
{
    char name[10];
    char age[5];
    char sex[6];
    float score;
};
void out(st stu)
{
    printf("名字:%s\n",stu.name);
    printf("性别:%s\n",stu.sex);
    printf("年龄:%s\n",stu.age);
    printf("分数:%.1f\n",stu.score);
}
void in(st stu)
{
    char score[10];/*?????????????????*/
    printf("输入姓名\n");
    gets_s(stu.name);-
    printf("输入年龄\n");
    gets_s(stu.age);
    printf("输入性别\n");
    gets_s(stu.sex);
    printf("输入分数\n");
    gets_s(score);/*???????????????????*/
    stu.score=atof(score);/*????????????这个地方我看不懂*/
    out(stu);
}
void main()
{
    struct st s={"li ming ","20","man",87.5};
    in(s);
    out(s);
}
搜索更多相关主题的帖子: void 自学 include 
2012-02-21 19:11
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
得分:10 
char score[10] 就是建个数组。
gets_s() 是微软自己的东西,不是标准库函数。算是对 gets() 的改进,不过这个函数很类似 gets(),只能读字符串。

后面的 atof() 是用于把看上去像数字的字符串转成数字。比如把 "12.3" 转成浮点数 12.3。
这个 atof 是 atoi(用于把字符串转成 int,我觉得是 Alphabet TO Int 的缩写) 的顺推,但前者也不是标准库函数。最好用 strtod 或者 strtof 来代替。你可以自己百度一下这两个函数的用法。
2012-02-21 22:10
sanjianfei
Rank: 2
等 级:论坛游民
帖 子:48
专家分:53
注 册:2012-2-21
得分:0 
谢谢 明白了
2012-02-21 22:14



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




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

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