c语言中scanf
Ⅰ c语言中scanf("%d",a)和scanf(%d",&a)在printf("%d",a)中到底有什么区别
二者的区别是一个是取变量的值,一个是取地址。scanf(%d",&a) 是读取整型变量a在内存中的地址,而scanf("%d",a)是读取整型变量a的值。
&是取地址的意思,&a是取出变量a的地址scanf(%d",&a) 就是读取1个数字,写入a的地址,scanf("%d",a),是读取1个数字,写入地址a,这个a如果是100,就写到地址100。如果是200,就写到地址200,显然,这很危险,万一a的存储的值刚刚好是一些指令的地址什么的,会写到这个地址修改指令,就运行不下去了,出大错。printf("%d",a) 就没什么了 把变量a的存储的值输出然后&是取地址。
拓展资料:
1、在HTML或SGML文档中,用于指明有字符存在(特殊字符)的默认符号。
2、在电子制表程序中,用于在描述单元格相互关系的公式中插入文本的操作符。
3、英文中代表and,也可读and。
4、该字符读音“z'da”。
5、&还有“联合”的意思。比如“A&B”公司,就是“A”和“B”两间公司合并起来的。
6、在某些电脑语言,如java中,表示按位进行“与”运算。
7、英文拼写:ampersand。
8、高级语言中的取地址符,如:“int a=0;int *p;p=&a;”,意为取变量a的地址给指针p。
9、C语言中两个&&表示“与”运算。如:while(a==9&&b==5) 表示当a等于9且b等于5时,条件成立。
10、Matlab中,&表示“与”运算(对应地,|表示“或”运算),但Matlab较高版本(如:Matlab R2008b)中,也承认&&的写法。在以上的意义中,以第3和第5项的用法最为普遍。
11、在vfp 数据库中,&是一个宏代换函数,用内在变量的值来代替&及变量名。
12、在Pascal中,&是八进制整型常量的前缀,如&7表示7 , &17表示15 , &177表示127 。
13、&还被大量引入到艺术创作与设计中。
14、bat中的命令,&之后顺序执行多条命令,不管命令是否成功。
15、在Visual Basic中使用命令按钮时,(&字母)代表将该字母设为快捷键。如在命令按钮的Caption属性中输入“确定(&K)”则表示K为“确定”事件的快捷键。
16、起标识作用。C++中引用的声明方法:类型标识符 &引用名=目标变量名,&在此不是求地址运算,而是起标识作用。
资料来源:网络:&
Ⅱ C语言中的scanf输入问题
这个
,其实scanf里面的%5d的5应该是没有意义的,也就是说直接输入10^20Aa1.5-3.75(这里可以不要空格,减号充当了分隔符),但是10和20之间是必须加上分隔符的,空格或者Tab键都可以
输入是必须让编译器能够正确识别就可以了,不必和答案一般见识,另外,老是在这些格式上纠缠是在浪费自己的青春,花时间学点真功夫吧,比如这个,自己调试一下就知道谁是对的了
Ⅲ c语言中scanf括号里&什么意思
在c语言中,scanf("%d%*c", &n);中%d表示读整数,%*c表示忽略掉一个字符型的输入项,&n表示对象n在内存中的地址。scanf("%d%*c", &n);整体表示输入两个数,并且忽略掉第二个字符型的输入项,然后将输入的对象存入n。
在C语言的scanf函数中,格式字符串的一般形式为:%[*][输入数据宽度][长度]类型(其中有方括号[]的项为任选项)。不同的格式符类型有不同的功能。
(3)c语言中scanf扩展阅读
C语言scanf函数的语法规则:
1、语法
#include <stdio.h>
int scanf( const char *format, ... );
类似函数有
int scanf(const char *format, ...);
int fscanf(FILE *stream, const char *format, ...);//定输入流
int sscanf(const char *str, const char *format, ...);//指定缓存区
2、规则
scanf()函数根据由format(格式)指定的格式从stdin(标准输入)读取,并保存数据到其它参数. 它和printf()有点类似. format(格式)字符串由控制字符,空白字符和非空白字符组成. 控制字符以一个%符号开始。
Ⅳ C语言中scanf("%c%*c%c%*c%d",&a,&b,&c)
char a,b;
int c;
scanf("%c%*c%c%*c%d",&a,&b,&c); //%c表示接受一个字符,%*c表示输入中,忽略一个字符
//如果输入asbs1
//那么输出结果a,b,c对应的为a b 1,其中s,s忽略了
Ⅳ 关于c语言中scanf的问题
scanf后面的%f格式,必须与输入格式相一致
按您的输入,中间用逗号,与scanf中%f之间格式不符,结果只接收了第1个变量,后面没接收,因而是零(有的编译器会是随机数),正确写法:
(1)如果:scanf中%f之间用空格,即:scanf("%f %f %f",&a,&b,&c);应该输入1 2 3(中间有空格)
(2)如果:scanf中%f之间用逗号,即:scanf("%f,%f,%f",&a,&b,&c);应该输入1,2,3(中间有,)
但不能没有分隔符号,您的写法,要求3个数连续输入,这样:人都没办法分辨,机器更没法分了,如:你输入12.345.67.89,是啥意思?
12.34 5.6 7.89?
12.3 45.6 7.89?
Ⅵ C语言中的scanf是什么意思
scanf()是C语言中的一个输入函数。
与printf函数一样,都被声明在头文件stdio.h里,因此在使用scanf函数时要加上#include <stdio.h>。(在有一些实现中,printf函数与scanf函数在使用时可以不使用预编译命令#include <stdio.h>。)
函数 scanf()是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。scanf() 从标准输入流stdin中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。
(6)c语言中scanf扩展阅读:
scanf()用法举例:
用scanf输入一个整数
#include<stdio.h>
int main(){
int num=0;
printf(“请输入一个个整数”);
scanf(“%d,&num);
printf(“num是%d ”,num);
scanf(“%*[^ ]”);
scanf(“%*c”);//清空缓冲区
printf(“请输入一个个整数”);
scanf(“%d,&num);
printf(“num是%d ”,num);
return 0;
}
参考资料来源:网络-scanf
Ⅶ c语言中scanf有什么作用
C语言中scanf是标准库函数,主要用来接收用户输入的数据。
scanf与printf函数一样,都被定义在头文件stdio.h里,因此在使用scanf函数时要加上#include <stdio.h>。它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。
函数格式:int scanf(char *format, args, ...);
功 能:从标准输入设备按format指定格式输入数据给args所指向的内存单元;
返 回 值 :读入并赋给args的数据个数。遇文件结束返回EOF,出错返回0。
(7)c语言中scanf扩展阅读
基本特性
1、高级语言:它是把高级语言的基本结构和语句与低级语言的实用性结合起来的工作单元。
2、结构式语言:结构式语言的显着特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。
C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
3、代码级别的跨平台:由于标准的存在,使得几乎模式同样的C代码可以用于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。C语言对编写需要进行硬件操作的场合,优于其它高级语言。
4、使用指针:可以直接进行靠近硬件的操作,但是C的指针操作不做保护,也给它带来了很多不安全的因素。C++在这方面做了改进,在保留了指针操作的同时又增强了安全性,受到了一些用户的支持。
但是,由于这些改进增加语言的复杂度,也为另一部分所诟病。Java则吸取了C++的教训,取消了指针操作,也取消了C++改进中一些备受争议的地方,在安全性和适合性方面均取得良好的效果,但其本身解释在虚拟机中运行,运行效率低于C++/C。
一般而言,C,C++,java被视为同一系的语言,它们长期占据着程序使用榜的前三名。
Ⅷ C语言中的Scanf的用法
scanf 函数最主要的用法是:
scanf("输入控制符", 输入参数);
函数原型:intscanf(constchar*restrictformat,...);
函数 scanf() 是从标准输入流stdin (标准输入设备,一般指向键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。
(8)c语言中scanf扩展阅读:
函数的第一个参数是格式字符串,它指定了输入的格式,并按照格式说明符解析输入对应位置的信息并存储于可变参数列表中对应的指针所指位置。每一个指针要求非空,并且与字符串中的格式符一一顺次对应。
发展:
使用scanf函数进行输入,必须指定输入的数据的类型和格式,不仅繁琐复杂,而且很容易出错。C++保留scanf只是为了和C兼容。
以便过去用C语言写的程序可以在C++的环境下运行。C++的编程人员都愿意使用cin进行输入,很少使用scanf。
但是scanf有一个明显的优点,速度比cin函数快。