QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 8456|回复: 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
    数据结构第一章第一节讲了基础知识,涉及到一个小程序:输入学生学号、姓名,并输出。& x( y& K( q. t( _" M, i
    初步代码如下:
    - ]$ |+ @/ V1 v' _  j5 A# x  w#include<stdio.h>
    5 ~0 y; Q- O/ a/ ]) H! o' u#define n 2
    & v* c4 h4 |" B/ D, Astruct Student{
    * ~* q! d8 T; W* I        char name[3];, g3 O% }( E; x$ A, L
            int num;# ~+ n; C2 C1 k
    }stu[2];
    ' G* I. w5 u/ U) B2 q7 i) g- p1 z1 k( x/ I
    int main(){' U" _. b7 Z- x( }. ^2 z( C1 M6 b
            int i;
    4 I2 r. _2 h9 F: u/ W        for(i=0;i<n;i++)4 |7 f8 F4 u+ \) v9 L. [* @& w
            {gets(stu[i].name);
    6 d. h, Y! }; Q" }9 v        scanf("%d",&stu[i].num);" d+ y7 m6 v& V2 B
            }
    & O9 k  ^- M  d        for(i=0;i<n;i++); O- H. S3 E( ?: z5 D2 _$ G! M
            {puts(stu[i].name);3 \4 r, G2 b! ]7 B( J# ?# T
            printf("%d\n",stu[i].num);) y2 D+ J; ~0 i, _2 s; M  p* k
            }3 `$ q8 P9 W9 ~$ P
            return 0;4 x9 }' a  E& j( |1 s
    }
    # b9 D# M% R  t  f5 _9 |比如我想输入第一个学生的姓名:s1,学号:10、
    & b* z6 [' D# e然后输入第二个学生的姓名:s2,学号:20.
    ; p( g$ ?% `9 s. ]6 f. o但是还没有输完,只输入了s2,就显示除了结果,而且后边的结果不正确。# M# k- \- I* ^
    这是为什么呢?+ y$ ^3 s) b$ N0 |1 A
    仔细想一想。6 L1 }; w& R: m* P7 k# H+ w8 ^1 ^( E
    最终才发发现了关键的问题:
    4 ]/ @' \& k5 b, S+ X5 e# K在输完第一个学生的学号之后会敲一个回车,计算机把那个回车当成第二个字符串存进第二个字符数组里面了。$ E0 c6 t  ^) h5 C9 ~8 j
    getcher就是用来存那个多余的回车的。
    ' }1 Y2 Z1 S6 ^% |/ K原来,只需要在第一个循环,scanf之后加入getchar();就可以解决了问题。
    ) f! ]3 t* ~7 ^
      \& x$ _; i7 H" j7 P# Y
    3 g5 B" F$ ?  y" m1 ?5 |
    4 |. Q0 S8 L# U- e1 J' X
    7 n; R: g. J3 J, _4 P
    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, 2025-11-1 00:31 , Processed in 0.400247 second(s), 55 queries .

    回顶部