在C语言中输入输出常见的错误.doc

在C语言中输入输出常见的错误.doc

ID:51059579

大小:37.52 KB

页数:3页

时间:2020-03-08

在C语言中输入输出常见的错误.doc_第1页
在C语言中输入输出常见的错误.doc_第2页
在C语言中输入输出常见的错误.doc_第3页
资源描述:

《在C语言中输入输出常见的错误.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、在C语言中,输入输出函数有着相当重要的地位,它是我们的程序与用户交互的唯一途径,现在我就将C语言中比较常见的几个输入输出函数介绍给大家,以下这些讲解都是针对VC调试平台。(一)  格式化输入输出函数(1)scanf()格式化输入函数格式输入函数scanf()函数,它的格式为scanf(“格式字符串”,输入列表)。“格式字符串”包含三种类型的字符:a、格式字符,以%开头的字符,用以说明输入列表的数据以何种类型及格式的形式输入。b、普通字符,要求在输入时必须原样一起输入的字符。C、空白字符(空格、跳格键、回

2、车键)作为相邻两个数据的默认分隔符。在scanf()函数中有以下地方需要注意:[1]     在scanf()函数中的格式字符串不存在转义字符,所以:格式字符串中的字符除了格式字符外全部都要原样输入。如:inta;scanf(“%d”,&a);如果我们想把10赋值给a,就需要在键盘上输入的是:10回车,才能把10赋值给a,这里已经不是转义字符,而是普通字符。[2]     输入列表的变量如果是基本类型(即整型、实型、字符型)一定要使用取地址符&(输入字符串到字符数组的情况除外),而且&后必须

3、是变量,不允许是常量或表达式。如:inta,b;scanf("%d%d",a,b);这是不合法的。Scanf函数的作用是:按照a、b在内存的地址将a、b的值存进去。“&a”指a在内存中的地址。[3]     输入数据时,企图规定精度floata;scanf("%.2f",&a);这样做是不合法的,输入数据时不能规定精度,这里要记住一个程序是不能控制操作它的人来输入数据的精度的。[4]     输入数据的方式与要求不符①    scanf("%d%d",&a,&b);输入时,不能用逗号作两个数据间的分隔符

4、,如下面输入不合法:3,4输入数据时,在两个数据之间以一个或多个空格间隔,也可用回车键,跳格键tab。②scanf("%d,%d",&a,&b);C规定:如果在“格式控制”字符串中除了格式说明以外还有其它字符,则在输入数据时应输入与这些字符相同的字符。下面输入是合法的:3,4此时不用逗号而用空格或其它字符是不对的。3 4 又如:scanf("a=%d,b=%d",&a,&b);输入应如以下形式:a=3,b=4[5]     输入字符的格式与要求不一致在用“%c”格式输入字符时,“空格字符”和“转义字符”

5、都作为有效字符输入。scanf("%c%c%c",&c1,&c2,&c3);如输入abc字符“a”送给c1,字符“”送给c2,字符“b”送给c3,因为%c只要求读入一个字符,后面不需要用空格作为两个字符的间隔。[6]    使用格式字符”%c”录入单个字符时,空格和回车键等字符都会作为有效字符输入,所以需要注意fflush(stdin)的使用。[7]     注意输入列表中的元素的个数要与格式字符串中的格式字符个数相同。[8]     在输入长整形数据和双精度浮点数时,必须使用长度修饰符”l”。[9] 

6、    不要在不该使用取地址符的地方使用取地址符。如:charstr[10];Scanf(%c,&str);这里不应该加取地址符&。 (2)printf()格式输出函数格式输出函数printf(),它的格式为printf(“格式字符串”,输出列表)。这里的格式字符串也包含三种类型的字符,但这里和scanf()函数的字符稍有不同。这三种类型的字符分别是:a、格式字符,以%开头的字符,用以说明输出列表的数据以何种格式的形式输出。B、转义字符,提供特殊的格式化控制,由一个“”和一个字符组成。反斜杠会使pri

7、ntf()函数以特殊的方式解释一个字符。C、普通字符,除格式字符和转义字符外的其他字符。在printf()函数中有以下地方需要注意:[1]     输出列表由若干个输出项组成,输出项可以是常量、变量,也可以是表达式。[2]     格式字符串中的格式字符要与后边输出列表中的元素类型一一对应。如:      floata=1.9999;      printf("%d",a);最终的输出结果是一些乱码。再如:      inta=12;      printf("%f",a);最终的输出结果是0.0000

8、00,这里没有进行类型转换。但是,如果想把上面的整数a以浮点数的形式输出,必须进行强制类型转换。如:      inta=12;      printf("%f",(float)a);输出的结果是12.000000。[3]     格式字符串中的格式字符的个数要与输出列表中的元素个数相同。如:      inta=12;      printf("%d,%d",a);将在屏幕上输出一个12以及一个乱码。[4]     在以%.nf这样的格式

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。