c语言scanf输入用法?

如果要把1,2,3,4,5,6分别给到a,b,c,d,e,f要怎么输入?把11,22,33,44,5,6给a,b,c,d,e,f要怎么输入?printf("%d%d%d%... 如果要把1,2,3,4,5,6 分别给到a,b,c,d,e,f 要怎么输入?

把11,22,33,44,5,6给a,b,c,d,e,f要怎么输入?
printf("%d%d%d%d%c%c",a,b,c,d,e,f);输出是这样的
不要改程序啊~~~
1 2 3 4 56 这样输入的话 只输出1234 5

1 2 3 456这样的话 要敲两下回车 这是为什么啊?
顺便问问能不能用tab换行符号进行输入
展开
 我来答
肥仙女a
高粉答主

2020-10-05 · 我是游戏小达人,专注于分享游戏资讯。
肥仙女a
采纳数:477 获赞数:115655

向TA提问 私信TA
展开全部

scanf 函数最主要的用法是:

scanf("输入控制符", 输入参数);

函数原型:int scanf(const char * restrict format,...);

函数 scanf() 是从标准输入流stdin (标准输入设备,一般指向键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。


扩展资料:

函数的第一个参数是格式字符串,它指定了输入的格式,并按照格式说明符解析输入对应位置的信息并存储于可变参数列表中对应的指针所指位置。每一个指针要求非空,并且与字符串中的格式符一一顺次对应。

发展:

使用scanf函数进行输入,必须指定输入的数据的类型和格式,不仅繁琐复杂,而且很容易出错。C++保留scanf只是为了和C兼容。

以便过去用C语言写的程序可以在C++的环境下运行。C++的编程人员都愿意使用cin进行输入,很少使用scanf。

但是scanf有一个明显的优点,速度比cin函数快。

参考资料:

百度百科-scanf (计算机语言函数)

gao5521036
高粉答主

2019-11-13 · 醉心答题,欢迎关注
知道小有建树答主
回答量:7225
采纳率:83%
帮助的人:603万
展开全部

scanf是C语言中的一个输入函数,与printf函数一样,都被声明在头文件stdio.h里,因此在使用scanf函数时要加上#include 。(在有一些实现中,printf函数与scanf函数在使用时可以不使用预编译命令#include 。)它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。scanf函数返回成功读入的数据项数,读入数据时遇到了“文件结束”则返回EOF。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wq_vincent
2014-03-29 · TA获得超过246个赞
知道小有建树答主
回答量:266
采纳率:0%
帮助的人:138万
展开全部
楼主注意了 getchar()是输入 字符函数哦,所以要是用getchar输入5,6那么对应输出的整数应当是它们对应的ASCII码值,也就是53,54.因为此程序中既有scanf,又有getchar,所以要消除换行建对程序的影响。具体做法如下
#include<stdio.h>
int main()
{
    int a,b,c,d,e,f;
    char ch;
    scanf("%d%d%d%d",&a,&b,&c,&d);
    ch=getchar();
    e=getchar();
    ch=getchar();
    f=getchar();
    printf("%d,%d,%d,%d,%d,%d",a,b,c,d,e,f);
    return 0;
}

输入:1 2 3 4 5 6(每个数字中间用空格隔开)

输出:1 2 3 4 53 54(注意 后面的53,54就是你输入的5,6)

追问
ch里面用来存放空格的? 如果不要ch呢?
输入 1 2 3 4 56 是这样输入吗?但是这样只输出1234 5
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
White_MouseYBZ
2014-03-29 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:7113万
展开全部
把e=getchar()和f=getchar()改成e=getchar()-'0'和f=getchar()-'0',在这两语句前各加一条getchar();语句。输入时:1 2 3 4 5 6回车就可以啦。你也可以一个一回车。
更多追问追答
追问
e=getchar()-'0'和f=getchar()-'0' 改这个有什么用么?

直接像我程序那样的话怎么输入呢?
追答
你得知道函数是干什么的得搞清楚,getchar()接收的是字符,即是输入字符的ASCII码,0是48,1是49,依次类推,而‘0’就是0的ASCII码48,不-'0'怎么能成int值?直接像你那样输入得到的是1 2 3 4 53 54而不是1 2 3 4 5 6!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xoaxa
2014-03-29 · TA获得超过8613个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3621万
展开全部
用空格隔开。比如响应scanf("%d%d%d%d%d%d",&a,&b,&c,&d,&e,&f);,输入:1 2 3 4 5 6。
追问
前面几个%d可以用空格 后面ef 不行 前面能用逗号或者回车隔开吗?
追答
scanf()函数读入数据时,无论读入数值型数据还是字符数据,都以空格、、作为分隔符。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式