
c语言scanf输入用法?
把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换行符号进行输入 展开
scanf 函数最主要的用法是:
scanf("输入控制符", 输入参数);
函数原型:int scanf(const char * restrict format,...);
函数 scanf() 是从标准输入流stdin (标准输入设备,一般指向键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。
扩展资料:
函数的第一个参数是格式字符串,它指定了输入的格式,并按照格式说明符解析输入对应位置的信息并存储于可变参数列表中对应的指针所指位置。每一个指针要求非空,并且与字符串中的格式符一一顺次对应。
发展:
使用scanf函数进行输入,必须指定输入的数据的类型和格式,不仅繁琐复杂,而且很容易出错。C++保留scanf只是为了和C兼容。
以便过去用C语言写的程序可以在C++的环境下运行。C++的编程人员都愿意使用cin进行输入,很少使用scanf。
但是scanf有一个明显的优点,速度比cin函数快。
参考资料:
scanf是C语言中的一个输入函数,与printf函数一样,都被声明在头文件stdio.h里,因此在使用scanf函数时要加上#include 。(在有一些实现中,printf函数与scanf函数在使用时可以不使用预编译命令#include 。)它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。scanf函数返回成功读入的数据项数,读入数据时遇到了“文件结束”则返回EOF。
#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
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!
前面几个%d可以用空格 后面ef 不行 前面能用逗号或者回车隔开吗?
scanf()函数读入数据时,无论读入数值型数据还是字符数据,都以空格、、作为分隔符。