免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2078 | 回复: 6
打印 上一主题 下一主题

[学习分享] c/c++ [复制链接]

论坛徽章:
1
程序设计版块每日发帖之星
日期:2016-05-03 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-07-09 21:19 |只看该作者 |倒序浏览
#include<stdio.h>
#include<stdlib.h>
int main()
{       
        int i = 0;
        int m = 0;
        //char str[100];
       
        while (scanf("%d",&m))
        {
                char str[10][10];
                for (i = 0;i < 5;i++)
                {
                        printf("请输入第%d个字符",i+1);
                        gets(str[i]);
                        //scanf("%s",str[i]);
                        //printf("%s",str[i]);
        //                scanf("%d",&m);
                }
        }
        /*while (gets(str))
        {
                printf("%s\n",str);
        }*/
//        return 0;



        return 0;
}
linux下居然输出这个样子:
[root@localhost ~]# ./a.out
3
请输入第1个字符请输入第2个字符1
请输入第3个字符2
请输入第4个字符3
请输入第5个字符4
请输入第1个字符请输入第2个字符 这句话是咋回事?

论坛徽章:
72
20周年集字徽章-20	
日期:2020-10-28 14:04:30操作系统版块每日发帖之星
日期:2016-07-13 06:20:0015-16赛季CBA联赛之广夏
日期:2016-07-10 09:04:02数据库技术版块每日发帖之星
日期:2016-07-09 06:20:00操作系统版块每日发帖之星
日期:2016-07-09 06:20:00数据库技术版块每日发帖之星
日期:2016-07-07 06:20:00操作系统版块每日发帖之星
日期:2016-07-07 06:20:00操作系统版块每日发帖之星
日期:2016-07-04 06:20:00数据库技术版块每日发帖之星
日期:2016-07-03 06:20:00操作系统版块每日发帖之星
日期:2016-07-03 06:20:00数据库技术版块每日发帖之星
日期:2016-07-02 06:20:00操作系统版块每日发帖之星
日期:2016-07-02 06:20:00
2 [报告]
发表于 2016-07-10 08:53 |只看该作者
用gdb调试一下,随时关注str的内容,还有就是str是一个二维数据,不建议直接打印str,可以打印str[i]

论坛徽章:
72
20周年集字徽章-20	
日期:2020-10-28 14:04:30操作系统版块每日发帖之星
日期:2016-07-13 06:20:0015-16赛季CBA联赛之广夏
日期:2016-07-10 09:04:02数据库技术版块每日发帖之星
日期:2016-07-09 06:20:00操作系统版块每日发帖之星
日期:2016-07-09 06:20:00数据库技术版块每日发帖之星
日期:2016-07-07 06:20:00操作系统版块每日发帖之星
日期:2016-07-07 06:20:00操作系统版块每日发帖之星
日期:2016-07-04 06:20:00数据库技术版块每日发帖之星
日期:2016-07-03 06:20:00操作系统版块每日发帖之星
日期:2016-07-03 06:20:00数据库技术版块每日发帖之星
日期:2016-07-02 06:20:00操作系统版块每日发帖之星
日期:2016-07-02 06:20:00
3 [报告]
发表于 2016-07-10 08:54 |只看该作者
你可去程序设计中的c/c++板块发这个帖子,在哪里你可以遇到更多的同道中人。

论坛徽章:
1
程序设计版块每日发帖之星
日期:2016-05-03 06:20:00
4 [报告]
发表于 2016-07-11 09:15 |只看该作者
谢谢:目前试了许多,能解决问题,但底层原理还不懂

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015元宵节徽章
日期:2015-03-06 15:52:30
5 [报告]
发表于 2016-07-11 12:44 |只看该作者
回复 4# 18345093167

没看懂你问的到底是什么问题


   

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:57:09
6 [报告]
发表于 2016-07-12 12:53 |只看该作者
第一圈循环 gets() 读取的是 scanf() 没有读入的回车键。也就是说你输入的 3 后面其实还有一个换行符,而 scanf() 只读入了 3,换行符被遗留在输入队列中了,下次读取的时候就会先读入换行符。

论坛徽章:
1
程序设计版块每日发帖之星
日期:2016-05-03 06:20:00
7 [报告]
发表于 2016-07-26 20:05 |只看该作者
我明白了,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP