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

在C语言中,输入输出函数有着相当重要的地位,它是我们的程序与用户交互的唯一途径,现在我就将C语言中比较常见的几个输入输出函数介绍给大家,以下这些讲解都是针对VC调试平台。(一)格式化输入输出函数(1)scanf()格式化输入函数格式输入函数scanf()函数,它的格式为scanf(“格式字符串”,输入列表)。“格式字符串”包含三种类型的字符:a、格式字符,以%开头的字符,用以说明输入列表的数据以何种类型及格式的形式输入。b、普通字符,要求在输入时必须原样一起输入的字符。C、空白字符(空格、跳格键、回车键)作为相邻两个数据的默认分隔符。在scanf()函数中有以下地方需要注意:[1]在scanf()函数中的格式字符串不存在转义字符,所以:格式字符串中的字符除了格式字符外全部都要原样输入。如:inta;scanf(“%d\n”,a);如果我们想把10赋值给a,就需要在键盘上输入的是:10\n回车,才能把10赋值给a,这里\n已经不是转义字符,而是普通字符。[2]输入列表的变量如果是基本类型(即整型、实型、字符型)一定要使用取地址符(输入字符串到字符数组的情况除外),而且后必须是变量,不允许是常量或表达式。如: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);输入时,不能用逗号作两个数据间的分隔符,如下面输入不合法:3,4输入数据时,在两个数据之间以一个或多个空格间隔,也可用回车键,跳格键tab。②scanf("%d,%d",a,b);C规定:如果在“格式控制”字符串中除了格式说明以外还有其它字符,则在输入数据时应输入与这些字符相同的字符。下面输入是合法的:3,4此时不用逗号而用空格或其它字符是不对的。34又如:scanf("a=%d,b=%d",a,b);输入应如以下形式:a=3,b=4[5]输入字符的格式与要求不一致在用“%c”格式输入字符时,“空格字符”和“转义字符”都作为有效字符输入。scanf("%c%c%c",c1,c2,c3);如输入abc字符“a”送给c1,字符“”送给c2,字符“b”送给c3,因为%c只要求读入一个字符,后面不需要用空格作为两个字符的间隔。[6]使用格式字符”%c”录入单个字符时,空格和回车键等字符都会作为有效字符输入,所以需要注意fflush(stdin)的使用。[7]注意输入列表中的元素的个数要与格式字符串中的格式字符个数相同。[8]在输入长整形数据和双精度浮点数时,必须使用长度修饰符”l”。[9]不要在不该使用取地址符的地方使用取地址符。如:charstr[10];Scanf(%c,str);这里不应该加取地址符。(2)printf()格式输出函数格式输出函数printf(),它的格式为printf(“格式字符串”,输出列表)。这里的格式字符串也包含三种类型的字符,但这里和scanf()函数的字符稍有不同。这三种类型的字符分别是:a、格式字符,以%开头的字符,用以说明输出列表的数据以何种格式的形式输出。B、转义字符,提供特殊的格式化控制,由一个“\”和一个字符组成。反斜杠会使printf()函数以特殊的方式解释一个字符。C、普通字符,除格式字符和转义字符外的其他字符。在printf()函数中有以下地方需要注意:[1]输出列表由若干个输出项组成,输出项可以是常量、变量,也可以是表达式。[2]格式字符串中的格式字符要与后边输出列表中的元素类型一一对应。如:floata=1.9999;printf("%d",a);最终的输出结果是一些乱码。再如:inta=12;printf("%f",a);最终的输出结果是0.000000,这里没有进行类型转换。但是,如果想把上面的整数a以浮点数的形式输出,必须进行强制类型转换。如:inta=12;printf("%f",(float)a);输出的结果是12.000000。[3]格式字符串中的格式字符的个数要与输出列表中的元素个数相同。如:inta=12;printf("%d,%d",a);将在屏幕上输出一个12以及一个乱码。[4]在以%.nf这样的格式进行输出浮点数时,有四舍五入。如:floata=1.9999;printf(“%.2f”,a);最终的输出结果是2.00。[5]长度修饰符“l”在输出长整形数据时...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

确认删除?