scanf函数

发布时间:2024年01月10日

定义:

scanf成为格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量中

一般形式:

scanf(“格式控制符”,地址表列)

地址是由地址运算符“&”后跟变量名组成的

例如:&a,&b

分别表示变量a和变量b的地址

这个地址就是编译系统在内存中给ab变量分配的地址,在C语言中,使用了这个地址概念,这是与其它语言不同的,应该把变量的值和变量的地址,这两个不同的概念区别开来。变量的地址是c编译系统分配的,用户不必关心具体的地址是多少

#include<stdio.h>
void main()
{
 ? ?int a,b,c;
 ? ?printf("input a,b,c \n");
 ? ?scanf("%d%d%d",&a,&b,&c);//空格和回车都可以区分这三个数的地址
 ? ?printf("a=%d,b=%d,c=%d\n",a,b,c);
}

在这里单独介绍一个符号“*”

表示该输入项,读之后不赋予相应变量,跳过该输入值

例如:scanf(”%d%*d%d“,&a,&b)

当输入1 2 3时,就会把1赋予a,2被跳过,3赋予b

注意:

1在scanf函数中没有精度,如:scanf(”%5.2f“,&a)是非法的

2scanf函数要求给出变量的地址

3在输入多个数值数据是,若格式控制串中没有非格式字符作为输入数据之间的间隔则可用空格,tab键回车做间隔

tab,回车或非法数据(如对”%d“)输入12A时,A就是非法数据,认为该数据结束

4如果格式控制符中有非格式符,输入时也要去输入上

题目:输入三个小写字母,输入ascII码和对应的大写字母

#include<stdio.h>
void main()
{
 ? ?char a,b,c;
 ? ?printf("input three zimu:");
 ? ?scanf("%c %c %c",&a,&b,&c);
 ? ?printf("%d %d %d \n%c %c %c\n",a,b,c,a-32,b-32,c-32);
}

题目:输出各种数据类型的字节长度

#include<stdio.h>
void main()
{
 ? ?int a;
 ? ?long b;
 ? ?float f;
 ? ?double d;
 ? ?char c;
 ? ?printf("int:%d\nlong:%d\nfloat:%d\ndouble:%d\nchar:%d\n",sizeof(a),sizeof(b),sizeof(f),sizeof(d),sizeof(c));
}
文章来源:https://blog.csdn.net/2301_81650162/article/details/135492013
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。