QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 8647|回复: 1
打印 上一主题 下一主题

数据结构之字符串学习感悟

[复制链接]
字体大小: 正常 放大
慢跑20 实名认证       

60

主题

8

听众

3684

积分

  • TA的每日心情
    开心
    2017-2-22 14:21
  • 签到天数: 271 天

    [LV.8]以坛为家I

    群组2014年美赛冲刺培训

    群组物联网工程师考试

    群组2013年电工杯B题讨论群

    群组物联网工程师培训

    群组2013电工杯A题讨论群组

    跳转到指定楼层
    1#
    发表于 2014-2-25 22:51 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    数据结构第一章第一节讲了基础知识,涉及到一个小程序:输入学生学号、姓名,并输出。
    . ?: h+ u0 \) ^) a初步代码如下:
    9 ?/ [- {5 E$ [4 I& a7 Y$ h#include<stdio.h>
    ! Z8 C; `/ l& M5 r#define n 2
    / W+ w' m. y6 @% y) mstruct Student{( C+ E- `  y2 @: T' I) U/ B$ o9 N! }/ e
            char name[3];
    " U4 x6 j+ U, q- R" ^& Q5 n+ Q        int num;
    ; T5 y+ z6 T3 G4 H}stu[2];
    1 N7 T: u# d; M" S3 @" t
    $ T) `1 ?" G5 ]0 ]int main(){
    / d" V/ m! J# Q        int i;1 u2 |; C5 }8 f3 x' @2 a9 s2 A
            for(i=0;i<n;i++)9 x' L5 p  v( p* G" s  \9 K; I
            {gets(stu[i].name);; f8 M; \3 _  D/ D1 g# d
            scanf("%d",&stu[i].num);
    , k7 B, M. A2 L( C) D/ |% H3 ~        }
    3 s, T8 |6 @8 R2 Q0 W        for(i=0;i<n;i++)
      {+ T8 A9 K, `3 c        {puts(stu[i].name);1 o# Q- L  }) A
            printf("%d\n",stu[i].num);
    ' `6 R7 D8 G& \" u# v/ E        }9 K- ~7 l* u0 @; ]) d- X( d3 r* F3 j! A
            return 0;
    ; E% G# s* S. N# G. l9 w( O7 I}% ?# b0 h; J1 w5 l0 T; ]3 e( s- |
    比如我想输入第一个学生的姓名:s1,学号:10、: R$ ~2 H8 n! q( n4 b- ~
    然后输入第二个学生的姓名:s2,学号:20.1 s) h  b0 E7 d1 B7 k
    但是还没有输完,只输入了s2,就显示除了结果,而且后边的结果不正确。
    ! d" [9 q% r# ~( z% ^这是为什么呢?
    ' e* `$ E& E+ }仔细想一想。
    ( G% @* s, P& p+ |+ q0 g2 f  v最终才发发现了关键的问题:
    " L, ^1 d2 S( Y1 g# a在输完第一个学生的学号之后会敲一个回车,计算机把那个回车当成第二个字符串存进第二个字符数组里面了。4 i$ W5 k) s# \2 F: U
    getcher就是用来存那个多余的回车的。
    ; ^# g& V" L! V. s: z原来,只需要在第一个循环,scanf之后加入getchar();就可以解决了问题。
    4 T) E6 f" w+ W9 h- I. W8 \7 P. q( e  h4 Z# k
    7 z9 x/ Q6 [3 a4 u
    ! N/ G8 B2 x% Q" m) Q/ T
    " m2 k% W/ x9 o' u0 J) x! F6 ^
    zan
    转播转播0 分享淘帖0 分享分享1 收藏收藏0 支持支持0 反对反对0 微信微信
    sdccumcm 实名认证      会长俱乐部认证 

    59

    主题

    165

    听众

    5484

    积分

    升级  9.68%

  • TA的每日心情
    开心
    2015-9-28 12:07
  • 签到天数: 832 天

    [LV.10]以坛为家III

    2012挑战赛参赛者

    邮箱绑定达人 发帖功臣 新人进步奖 风雨历程奖 最具活力勋章

    群组MCM优秀论文解析专题

    群组2012第二期MCM/ICM优秀

    群组科学狂想曲

    群组第二届数模基础实训

    群组学术交流B

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-4-21 04:09 , Processed in 0.417775 second(s), 54 queries .

    回顶部