精华内容
下载资源
问答
  • 摘要:关于C语言中scanf函数被无意跳过输入%c问题的探讨 为了使阐述的问题简单易懂,下面举例说明(引用例子出自“C程序设计 第五版 谭浩强著”) 命题:15个数按由大到小顺序存放在一个数组中,...错误的解法以回

    摘要:关于C语言中scanf函数被无意跳过输入%c问题的探讨

    为了使阐述的问题简单易懂,下面举例说明(引用例子出自“C程序设计 第五版 谭浩强著”)

    命题:有15个数按由大到小顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则输出“无此数*

    输出的错误解
    在这里插入图片描述
    输出结果如下,在还未选择“是/否”的情况下,直接跳过scanf函数执行下一行命令
    在这里插入图片描述
    正确的解法①
    在这里插入图片描述
    结果未出现异样
    在这里插入图片描述
    正确的解法②
    在这里插入图片描述
    结果未出现异常
    在这里插入图片描述
    正确的解法中间是以空格隔开数据;错误的解法是以回车键隔开程序,两者输入数据的方式无论哪种皆可

    综上所述:上述现象是因为输入数据后需要键入回车才能将数据送入缓冲区,然而在此过程中下一个scanf函数整好捕获到该换行符,所以此处的解决方案就是选择以何种方式来清除这个换行符

    展开全文
  • 改错时,有时在被指出中未发现错误,就需要看一下上一是否漏掉了分号。 { z=x+y; t=z/100; printf("%f",t); } 对于复合语句来说,最后一个语句中最后分号不能忽略不写(这和PASCAL不同)。 6.多加...
  • 下面是代码,我测试正确啊,可是交上去总是WA #include void BubbleSort(int array[],int n) { int i,j,temp; for(i=0; i; i++) { for(j=0; j; j++) { if(array[j]>array[j+1]) { temp=...
  • 不允许把一个数赋予指针变量,故下面的赋值是错误的: int *p;p=1000; 被赋值的指针变量前不能再加“*”说明符,如写为*p=&a 也是错误的 指针变量的运算  指针变量可以进行某些运算,但其运算的种类有限的。 它...
  • 代码语法错误分析工具pclint8.0

    热门讨论 2010-06-29 07:00:09
    这样消除错误的成本更低。 使用PC-Lint在代码走读和单元测试之前进行检查,可以提前发现程序隐藏错误,提高代码质量,节省测试时间。并提供编码规则检查,规范软件人员的编码行为。 由于PC-LINT对于一般程序员来说...
  • 5.下面关于C语言语句的叙述,错误的是________。 A、C语言一可以允许写多条语句; B、C语言语句用分号结束; C、语句一写不下时,可以用逗号换行 ; D、语句一写不下时,可在任意一空格处回车换行 。 6...
  • 第1章 声明和初始化 基本类型 1.1 我该如何决定使用哪种整数类型? 1.2 为什么不精确定义标准类型大小? 1.3 因为C语言没有精确定义类型...7.6 我使用fgets将文件所有读入一个数组,为什么读入每一...
  • 不同编译器给出不同i值,有的为3,有的为4,哪个正确? 34  *3.4 这样一个巧妙表达式:a^= b^= a^= b; 它不需要临时变量就可以交换a和b值。 34 3.5 可否用显式括号来强制执行我所需要计算顺序并...
  • 《你必须知道495个C语言问题》

    热门讨论 2010-03-20 16:41:18
    不同编译器给出不同i值,有的为3,有的为4,哪个正确? 34  *3.4 这样一个巧妙表达式:a^= b^= a^= b; 它不需要临时变量就可以交换a和b值。 34 3.5 可否用显式括号来强制执行我所需要计算顺序并...
  • 不同编译器给出不同i值,有的为3,有的为4,哪个正确? 63 *3.4 这样一个巧妙表达式:a^= b^= a^= b; 它不需要临时变量就可以交换a和b值。 63 3.5 可否用显式括号来强制执行我所需要计算顺序并控制...
  • 不同编译器给出不同i值,有的为3,有的为4,哪个正确?  *3.4 这样一个巧妙表达式:a^=b^=a^=b;它不需要临时变量就可以交换a和b值。  3.5 可否用显式括号来强制执行我所需要计算顺序并控制相关...
  • 不同编译器给出不同i值,有的为3,有的为4,哪个正确? *3.4 这样一个巧妙表达式:a^=b^=a^=b;它不需要临时变量就可以交换a和b值。 3.5 可否用显式括号来强制执行我所需要计算顺序并控制相关副...
  • 你必须知道495个C语言问题(PDF)

    热门讨论 2009-09-15 10:25:47
    3, 有的为4, 哪个正确? . . . . . . . . . . . . . . . . . . . . . 14 3.4 这个巧妙表达式: a ˆ= b ˆ= a ˆ= b 它不需要临时变量就可 以交换a 和b 值。. . . . . . . . . . . . . . . . . . . . . . ....
  • 输入一,包含16个整数(大于等于0,小于等于100),分别表示购买《计算机导论》、《网页程序设计》、《高等数学》、《程序设计基础》、《面向对象程序设计》、《电子技术基础》、《计算机网络》、《工程数学》、...
  • 在关键字,标识符之间必须要一个以上空格符作间隔, 否则将会出现语法错误,例如把int a;写成 inta;C编译器会把inta当成一个标识符处理,其结果必然出错。 5.常量  C 语言中使用常量可分为数字常量、字符...
  • 2020-05-26

    2020-05-26 21:02:27
    循环没有终止条件,程序崩溃了,多半都是有死循环(递归也算是一种循环,同理也要终止条件,而且要保证你递归在进行,不能一直不动,不然就爬出来了)。 5.如果没有花括号,if语句默认只能控制一,,下面的...

    C语言中的常见错误,看看你有没有中招。

    1.printf带上了&。
    2.scanf少了&(非常致命,系统不会报错哦,但要注意字符串的输入不用&哦)。
    3. 数字与字符判断是否相等要用两个等号而不是一个(如果是判断是否与一个字母相等,字符要带上引号)。
    4.死循环。循环没有终止条件,程序崩溃了,多半都是有死循环(递归也算是一种循环,同理也要有终止条件,而且要保证你的递归在进行,不能一直不动,不然就爬出来了)。
    5.如果没有花括号,if语句默认只能控制一行,,下面的几行它就管不了了哦。
    6.数组默认从0开始,不是1,数据会溢出哦。
    7.字符串间的比较不能使用代数符号,要用strcmp进行比较。
    8.字符串的复制不能使用赋值,要用strcpy。
    9.链表一定要先申请空间。
    10. 输出或输入的个数不对应。比如printf(“%d%d”);而你后面只写了number1。
    11.do while至少要循环一次,看看题目是否有一次循环也不进行的情况。
    12.在对数组两头进行交换时,记得循环只能进行一半,不然你就又换回去了。

    展开全文
  • c语言你知识点总结

    2018-05-15 00:42:54
    3、一个C语言程序有且只有一个main函数,程序运行起点。 第二节、 2、每个C语言程序写完后,都先编译,后链接,最后运行。(.c---.obj---.exe)这个过程中注意.c和.obj文件时无法运行,只有.exe文件才...
  • 不同编译器给出不同结果, 有的为 3, 有的为 4, 哪个正确? o 4.4 这个巧妙表达式: a ^= b ^= a ^= b 它不需要临时变量就可以交换 a 和 b 值。 o 4.5 我可否用括号来强制执行我所需要计算顺序? o ...
  •  本书目标使你在C语言程序设计方面由一位初学者成为一位称职程序员。 内容简介  本书编程语言先驱者Ivor Horton经典之作,C语言方面最畅销图书品种之一。本书集综合性、实用性为一体,学习C语言...
  •  本书目标使你在C语言程序设计方面由一位初学者成为一位称职程序员。 内容简介  本书编程语言先驱者Ivor Horton经典之作,C语言方面最畅销图书品种之一。本书集综合性、实用性为一体,学习C语言...
  • (说明:上面运行结果示例中,每字母前面下划线"_"代表屏幕上实际输出的是空格,最后一前面一个空格,倒数第二行有两个空格,以此类推。) 输入提示信息:"Please input a capital:\n" 输入格式: "%c" ...
  • 如题,自己参照网上例子做了一个C语言PL0编译器,能跑通,但是遇到调用procedure时候,就会一直循环无限调用,查错查了好久,还是没有找到,希望大神能为我解答一下!谢谢~ 代码如下,有点长。。 #include...

空空如也

空空如也

1 2
收藏数 26
精华内容 10
关键字:

下面程序有错误的行是scanf