gets和scanf混用问题 |
您所在的位置:网站首页 › calls和puts为什么不能一起 › gets和scanf混用问题 |
1.gets和scanf的区别 gets可以读入字符串空格,遇见回车才停止 scanf遇见空格或回车都停止读入 2. scanf("%d\n",&a);此时输入数据时需要多输入一行,但只读第一行数据,因为scanf("%d\n",&n);这样一条语句,输入一个数字5加回车,5\n全部被读入到了scanf中去了,然后5被赋给了n,但是这样在缓冲区内此时却没有空白符,因此无法结束,然后根据scanf的规定,必须要有一个空白符才能够结束输入,因此还会要求继续输入,而\n后面需要遇到一个非空白符才能继续读入,否则会一直提示输入,因此再输入一个非空白符,一个空白符即可成功完成scanf的停止。 3.gets和scanf混用 此次问题源于我写的PTA的一道题 题目: 给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价。 输入格式: 输入第一行给出正整数n( int n; scanf("%d",&n); struct Book book[n]; int i,max=0,min=0; for(i=0;i max=i; } if(book[i].price |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |