scanf输入后scanf和printf的用法为什么无法输出?

 上传我的文档
 上传文档
 下载
 收藏
粉丝量:35
该文档贡献者很忙,什么也没留下。
 下载此文档
基本输入输出函数(printf scanf putchar getchar)
下载积分:1688
内容提示:基本输入输出函数(printf scanf putchar getchar)
文档格式:DOCX|
浏览次数:6|
上传日期: 07:02:06|
文档星级:
全文阅读已结束,如果下载本文需要使用
 1688 积分
下载此文档
该用户还上传了这些文档
基本输入输出函数(printf scanf putchar getchar)
关注微信公众号scanf使printf失效热门博客列表 -
ITeye博客频道 - ITeye.com
博客专栏推荐
本月博客排行
年度博客排行
最新文章列表
笔者是个javaer,虽然大学学过C基础,忘了个7788。
前些天配了eclipse-cpp+mingw后,发现个问题——scanf一出现,printf要等到后终才出效果,而无视C语句中printf是否在scanf之前。当时查百度运气好解决了。
今天群里有朋友问同样的问题,我告诉人做法,然后让上网查一下有说原因。结果都没查到。于是有了此篇
正文:
解决这问题有至少3种方法,此 ...
博客人气排行榜
博客电子书下载排行15:13 提问
为什么当输入的有空格时,就从空格后面的就没法输出了?
system("color 2f");
char a[1000]="abc";
scanf("%s",&a);
printf("%s\n",a);
system("pause");
eg:输入:abcd sdegjrfj
则输出:abcd
空格后面的为什么没法输出了?
应该怎么改?请写一下 。谢谢!
按赞数排序
scanf("%[^\n]" a);
scanf("%[^\n]", a);
空格会被认为结束,按老曹那样写就行了
在scanf的下一行,加一个getchar()试试
如果想让字符创能接收空格的话就用gets
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐C语言scanf输入与printf输出问题_百度知道
C语言scanf输入与printf输出问题
scanf(&%d&,&a);printf(&%d&,a);输入52,为什么输入也是52,输入的52不是a地址吗?求解
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
%c之间没有空格的时候,输入也没有空格,如:abc%c之间有空格的时候,输入要有空格,如a b c如果是%d %c交叉输入,如%d%c%d%c,输入就应该是10a11b
毅衣公司京东小二
scanf需要通过输入去改变变量的值,参数是按地址传递printf只需要打印,不需要修改,参数按值传递相信你们上课的时候一定有讲过交换2个数的函数swap,如果是按值传递,就交换不了,必须传入地址,用指针来操作改变2数
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。在解释这两个函数之前,为了方便大家更容易理解,我们先来讲讲下面的这幅图。
这个图中的例子其实很简单,我们就是把题目通过输入设备(例如键盘鼠标)传输到计算机中,然后让计算机进行运算得出结果,再然后把结果通过输出设备(例如显示器)反馈给我们,这是一个简单的人机的交互过程。在 C 语言中其实也是一样的。在程序的运行中,我们经常会进行一些输入输出的操作,用来实现交互。为此, C语言便给出了 printf() 函数和 scanf() 函数用来实现输入和输出两个动作。其中,printf()函数用于向控制台输出字符,scanf()函数用于读取用户的输入,下列将分别讲解这两个函数的用法。1、printf()函数在前面的举例中,我们会经常使用 printf() 函数输出数据,也就是类似于上面图中的输出设备,只不过它们的输出的形式不相同。它可以通过【格式控制字符】输出多个任意类型的数据。下面列举了printf()函数中常用的格式控制字符。常用printf()格式字符常用格式字符 含义 %s 输出一个字符串 %c 输出一个字符 %d 以十进制输出一个有符号整型 %u 以十进制输出一个无符号整型 %o 以八进制输出一个整数 %x 以十六进制输出一个小写整数 %X 以十六进制输出一个大写整数 %f 以十进制输出一个浮点数 %e 以科学计数法输出一个小写浮点数 %E 以科学计数法输出一个大写浮点数这个表格中列举了很多格式控制字符,使用这些格式控制符可以让printf()输出指定类型的数据,接下来通过一个具体的案例来演示这些格式控制符的使用,如案例一所示.案例一:1 #include1 void main()2 {3 printf("%c %c", 'H', '\n');4 printf("%s", "Hello, world!\n");5 printf("%d %d %d \n", 1, 2, 3);6 printf("%f %f \n", 2.1, 2.2);7 }运行结果如下图所示:
在这个例题中 printf() 函数,通过格式控制字符“%c”、“%s”、“%d”、“%f”,分别输出了字符、字符串、整数、浮点数。2、scanf()函数scanf() 函数负责从控制台上接收用户的输入,你可以理解为它就是一种输入设备,它可以灵活接收各种类型的数据,如字符串、字符、整型、浮点数等, scanf() 函数也可以通过格式控制字符控制用户的输入,其用法与 printf() 函数一样。接下来,通过一个获取字符串的案例讲解 scanf() 函数的用法,如案例二所示。案例二:8 void main()9 {10 char str[256]; // 字符数组保存得到的字符串11 scanf("%s", str);12 printf("%s\n", str);13 }运行结果如图所示:
在案例二中,首先定义了一个长度为256的字符数组str,然后利用 scanf() 函数获得用户从控制台输入的字符,最后使用 printf() 函数将得到的字符串打印在控制台上。本例中用户从控制台上输入了Helloworld,并按回车符,此时scanf()函数会把回车符看做是字符串终止的标志(也称为终止符),将整个Helloworld读取到str字符数组中。要点留心:C语言中的终止符在使用 scanf() 函数获取用户输入的信息时,如果输入的信息中包含某个终止符,scanf()函数就认为输入结束,接下来就列举一些常见的终止符,具体下表所示。scanf()输入字符串的终止符字符 含义 0x20 空格 \t 水平制表符(tab键) \n 换行 \v 垂直制表符 \f 换页 \r 回车接下来,以案例二为例,当程序运行后,如果输入的字符串包含空格,例如“Hello world”,此时程序的运行结果如图所示:
从此可以看出,尽管输入的字符串是Hello world,但是程序只打印了Hello。这是因为Hello world中包含一个空格,空格也是一个终止符,因此scanf()只能读到空格之前的内容。特别声明:本文为网易自媒体平台“网易号”作者上传并发布,仅代表该作者观点。网易仅提供信息发布平台。
一键安装官方客户端
重大事件及时推送 阅读更流畅
http://dingyue.nosdn.127.net/JjkjyIszIPdLRz4oinuUBeKPhdfL1MdVtUCXmFclXGqjx3.jpeg

我要回帖

更多关于 printf与scanf 的文章

 

随机推荐