QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 8645|回复: 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
    数据结构第一章第一节讲了基础知识,涉及到一个小程序:输入学生学号、姓名,并输出。
    9 M0 E  F* K% n1 \, }7 P初步代码如下:3 V- E5 W! |( i& k1 d4 r0 X
    #include<stdio.h>
    + b% Z7 e4 b* s) D2 L. ]+ `. a2 s' ]#define n 2
      q5 e  `  s( [9 |) |struct Student{9 Q6 w$ b2 h' k5 |# q% i
            char name[3];
    ; f: {( z9 u0 \# J        int num;# O4 t+ f5 x3 R* {
    }stu[2];
    7 i/ c; F. z0 E, [0 J8 |4 _* c; O
    5 S+ N* P4 Y) C6 \- kint main(){1 G0 ~9 Z% I3 X5 j6 a- j& `
            int i;
      a0 t. g- J/ X# Y        for(i=0;i<n;i++)6 W& e* N7 [* I) N: x, u7 |' G9 C
            {gets(stu[i].name);# H9 }+ F/ a9 a) r6 k8 L/ |
            scanf("%d",&stu[i].num);
    ' n; B% t# s* R+ o% J        }
    ( ^7 J0 B/ x* y6 b7 N        for(i=0;i<n;i++)" N" F$ l8 z; y- s; u
            {puts(stu[i].name);
    ! {) z  C3 S1 d0 i5 w        printf("%d\n",stu[i].num);
    " [% ^0 y5 K- Q- h4 s! K) O        }+ g2 S) h7 J- w" Q  x* M+ x
            return 0;
    6 a# G# I6 q% I}
    : R1 a: o. ^% h/ c比如我想输入第一个学生的姓名:s1,学号:10、
    9 Q& D8 c, M8 X0 u1 y# T8 l% }然后输入第二个学生的姓名:s2,学号:20.! @. m  h, `" v: E: q3 G8 c- M
    但是还没有输完,只输入了s2,就显示除了结果,而且后边的结果不正确。0 i) Y4 G) r3 i4 N0 @
    这是为什么呢?- @4 D( e  s) z! C) {! i
    仔细想一想。
    & k% V, ^$ ~, v" m4 T最终才发发现了关键的问题:& N' @5 t$ e3 b8 r8 `2 [! K/ [
    在输完第一个学生的学号之后会敲一个回车,计算机把那个回车当成第二个字符串存进第二个字符数组里面了。
    ( h" P( k, u9 n/ J1 M  H- B# Tgetcher就是用来存那个多余的回车的。7 w" e1 o( y$ e/ A5 D! r5 v& B, `# R
    原来,只需要在第一个循环,scanf之后加入getchar();就可以解决了问题。
    ) `5 B$ }' ^( n- @) o' k
    ) ~- y5 l" Z9 I- L1 c
    ' @: n/ ^, T' o8 @5 \
    : j5 X/ N( V- A0 ]  T1 M! D7 B  g: b; z4 X6 o' R" q* X; 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, 2026-4-21 02:26 , Processed in 0.335830 second(s), 54 queries .

    回顶部