请选择 进入手机版 | 继续访问电脑版

QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 6726|回复: 1

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

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

60

主题

8

听众

3684

积分

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

    [LV.8]以坛为家I

    群组2014年美赛冲刺培训

    群组物联网工程师考试

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

    群组物联网工程师培训

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

    发表于 2014-2-25 22:51 |显示全部楼层
    |招呼Ta 关注Ta
    数据结构第一章第一节讲了基础知识,涉及到一个小程序:输入学生学号、姓名,并输出。
    7 P: h. ?. S/ d' Y8 F- \2 D- W初步代码如下:/ i) j. O  d0 L& y9 r3 u6 U) h
    #include<stdio.h>' K0 H/ j, I1 a  K9 ^
    #define n 26 ~9 u  C+ u4 W# A; E! V0 C
    struct Student{! N2 X. R$ f' Q! L& @( z
            char name[3];
    - T. t( @: F9 v5 F( _  v% @$ {        int num;
    9 t; O* Q7 N) b8 C; M}stu[2];0 _* [$ h, P( W1 _+ \5 L& E+ M1 I1 I! r% V

    - K1 l: f. @! m' O, Qint main(){, p+ P8 R  F2 A. J( J+ {
            int i;2 r$ t, Z$ \. V
            for(i=0;i<n;i++)5 X; ~6 u+ R: [
            {gets(stu[i].name);
    . e; N7 r9 a1 x, ?6 {" A7 i        scanf("%d",&stu[i].num);3 U; u" \8 h" X! ^( C. V
            }( R; @) h9 h: ]
            for(i=0;i<n;i++)7 D9 d! Z3 H( H1 h6 `) j2 t
            {puts(stu[i].name);
    5 U; T, }$ ]" X7 `2 K6 W        printf("%d\n",stu[i].num);7 \5 y) t  S9 w% s9 Z
            }0 U9 V- _2 f8 M! g9 h: B( u
            return 0;
    1 o, s% V: C, M" {& Y8 K}) `6 Y* Z6 r4 X& s& d+ R* ]
    比如我想输入第一个学生的姓名:s1,学号:10、
    ) I+ w5 J% z5 I然后输入第二个学生的姓名:s2,学号:20.
    4 Z. s, L' K8 ^但是还没有输完,只输入了s2,就显示除了结果,而且后边的结果不正确。
    % _% \) z) j$ Q. f这是为什么呢?$ F  n$ ^: \) K& R" j" Y
    仔细想一想。9 p- y( a# A% d# V8 G
    最终才发发现了关键的问题:% N' J6 @/ Z* Z8 E. [; q0 n
    在输完第一个学生的学号之后会敲一个回车,计算机把那个回车当成第二个字符串存进第二个字符数组里面了。
    0 q% C, U9 O. n/ rgetcher就是用来存那个多余的回车的。1 g1 E& d$ a* d% E+ u- X8 w: v/ o
    原来,只需要在第一个循环,scanf之后加入getchar();就可以解决了问题。9 H+ t8 S) ], D8 j2 U

    3 F- i# v4 D. r. f6 E& d8 a
    ' u# [( R% B4 }# s" L$ R1 E  o; }; @4 {6 p; T
    ' |& `8 o, U* ^0 `
    zan
    sdccumcm 实名认证      会长俱乐部认证 

    59

    主题

    162

    听众

    5422

    积分

    升级  8.44%

  • 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, 2020-5-25 23:14 , Processed in 0.778988 second(s), 55 queries .

    回顶部