while函数输入
来源:互联网 发布:淘宝京润珍珠是真的吗 编辑:程序博客网 时间:2024/06/02 02:40
http://blog.csdn.net/xxiaobaib/article/details/50915911
1.知识点1:scanf函数的返回值可以简单理解为为输入变量的个数:Both scanf and wscanf return the number of fields successfully convertedand assigned; the return value does not include fields that were read but not assigned. A return value of 0 indicates that no fields were assigned. The return value is EOF for an error or if the end-of-file character or the end-of-string character is nocountered in the first attempt to read a character.2.知识点2:逗号表达式取最右边的算数值作为返回值3.知识点3:EOF的值其实就是-1,当scanf读取内容发生错误或者读到文件结尾的时候就会返回EOF/****************************************输入直到文件末尾****************************************/while ((scanf("%d%m",&n,&m) != EOF)){// 循环从输入流读取m和n 直到遇到EOF为止,常见于ACM中}while (~scanf("%d%d",&m,&n)){ //相当于while (scanf("%d",&n) != EOF)}/****************************************输入全为0时跳出循环****************************************/while (scanf("%d%d",&n,&m)&&(m|n)){ //不断读入新数据,当m,n均为0时跳出循环}while (scanf("%d %d", &n, &m), n+m){ //不断读入新数据,当m,n均为0时跳出循环}while ((scanf("%d%d",&n,&m) != EOF),n+m){ //有了前面的分析,这个代码就好理解了,神组合啊}/****************************************输入两个整形数,其他类型跳出循环****************************************/while (scanf("%d%d", &a, &b)==2){ //不断读入新数据,当输入的不是两个整形数字时,跳出循环}while (scanf("%d%d",&n,&m)){ //当输入不是两个整形数时,跳出循环}/***************************************/
int main(void){ int number1; int number2; int opt;//运算符 //提示用户输入第一个数,需循环直到用户输入正确的数: int r; while(1) { printf("请输入第一个数:\n"); r = scanf("%d",&number1); //查看Scanf是否收到了正确的数 if(r==0) { printf("别调皮,这样不好玩,重来\n"); //清空输入流。如果没有这一句,输入流中残存的字符将导致scanf不等待用户输入。 int c; while ( (c = getchar()) != '\n' && c != EOF ) ; } else break; } //提示用户输入第二个数 while(1) { printf("请输入第二个数:\n"); r = scanf("%d",&number2); //查看Scanf是否收到了正确的数 if(r==0) { printf("别调皮,这样不好玩,重来\n"); //清空输入流。如果没有这一句,输入流中残存的字符将导致scanf不等待用户输入。 int c; while ( (c = getchar()) != '\n' && c != EOF ) ; } else { //输对了,跳出循环 break; } } int result;//存放计算结果 //提示用户输入运算符 while(1) { printf("请输入运算符(%d%d%d%d分别对应加减乘除):\n",jia,jian,cheng,chu); r = scanf("%d",&opt); if(r==0) { printf("运算符也是数字,别搞错好吗?你这样让我怎么混? 重新输入吧\n"); //清空输入流。如果没有这一句,输入流中残存的字符将导致scanf不等待用户输入。 int c; while ( (c = getchar()) != '\n' && c != EOF ) ; //回到循环开始 continue; } //运算 //当执行到这里时,说明运算符检查成功,应跳出while。 break; } //输出结果 printf("result : %d\n",number1,number2,result); return 0;}
0 0
- while函数输入小结
- while函数输入
- while函数
- while循环控制输入(3)
- while循环输入cin ,scanf()
- C语言while函数
- shell(2):shell中关于if,while,输入参数,函数,c++进程等相关知识应用汇集事例
- 关于while ( cin >> ch )输入结束问题
- while当输入string重复时跳出
- java中输入及switch,while
- 限制输入的次数用到while循环
- Python -- 5. 用户输入和while 循环
- Python学习---用户输入和while循环
- 用户输入和while循环(python)
- Python_用户输入和while循环
- 输入流 输入函数
- 输入函数
- 【java day3】函数、for、while
- SpringMVC 分析(二) handlerMapping 家族
- 2016最新PHP燕十八系统实战入门网站视频教程
- mac安装Awscli失败
- getAttribute()获取属性
- 到底是不是太胖了(卡精度)
- while函数输入
- 主流浏览器内核介绍
- 网易编程题七,买苹果(计算)
- Android开发中的一些边缘技巧
- L2-008. 最长对称子串
- runtime获取属性列表,修改属性值,添加并修改私有方法的调用
- 命名管道(FIFO)
- 数据存储方式和存储位置
- 扩展KMP