
正文
c语言输入不需要用符号,c语言没有输入语句
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
C语言中scanf后面,什么情况下不加符号&
1、调用scanf()函数需要用两个变量,第一个是用来规定读取变量的格式,第..多个是存放数据的地址。格式变量是C语言规定的以%开始的一系列字符,比如%d用来读入int类型的数据,%lf用来读取doublex类型的数据。
2、有区别。加逗号后,你输入时,两个数字之间也要加逗号,scanf才能正常读入。所以建议一般不在输入数据之间加入奇怪的符号,以免使输入变得麻烦。
3、因为字符串变量名在 scanf 语句里 表示指针 (地址)例如:char s[80];scanf(%s,s); --- 这里的s 已是地址。当然,写成 scanf(%s,&s[0] ); 也可以, &s[0] 是地址。
4、C语言的字符串为数组形式,而数组的名称可以表示其地址,故对字符串输入不需要加地址符。而单独的字符、整型变量等的名称不能直接表示地址,故需要加地址符。数据类型 字符串数据类型是建模在形式字符串的想法上的数据类型。
相关问答
Q1: 为什么在C语言中在调用scanf()为字符数组输入字符串时,输入项是数组名...
如果scanf (“%c”,name)也会报错,因为“%s”代表对字符进行格式化,需要提供变量的地址,所以不能没有&符号。scanf()是C语言中的一个输入函数。
如果用它来输入字符串到字符数组中,因为数组名本身就是代表了它的首地址,所以此时数组名前也可以不加&。
从scanf函数的函数原型可以看出,scanf接收到的数据是赋给args指向的内存单元的,也即args是一个内存地址,而变量的内存地址用取地址符&来表示,数组的地址就是数组名。
scanf(%s,string);输入 I love China !string 只读入了 I 因为,%s 格式,用 空白 做分隔符。残留的 输入部分在缓冲区内,下面的输入语句将用它们。
scanf(%d,p-age);这个是错误的,因为scanf输入时,要将值放到地址里,所以要加上&,&表示取址。
Q2: c语言里的无符号字符型是什么意思?
1、无符号字符型,数值范围0-255。在单片机中,uchar代表无符号字符型数据类型。数值范围是从0到255,不包括负数。在C语言中,并没有默认定义uchar关键字,需要进行相应的声明或者定义。
2、在C语言中,unsigned char是无符号字符类型。
3、无符号类型就是不表示负数,只表示正数的数据类型。通常在数据类型关键字前加unsigned。
Q3: C语言中。输入%s格式时,不用&吗?
1、scanf(“%s%s”,a,b );中不用&a,&b也是可以的。因为定义的字符数组名a,b本身就代表数组a和b的首地址,所以,使用 scanf(“%s%s”,a,b );和scanf(“%s%s”,&a,&b );是等价的。
2、如果在printf(%s,a);的%s前加空格,那输出时就会在你输出的字符串前输出个空格,加在后面,就会在字符串后加空格,并不是一定要加空格的。其实你上机试验一下就知道了。
3、因为字符串变量名在 scanf 语句里 表示指针 (地址)例如:char s[80];scanf(%s,s); --- 这里的s 已是地址。当然,写成 scanf(%s,&s[0] ); 也可以, &s[0] 是地址。
4、输入格式要与输入内容相配合。year,month,day 声明为int, 要用 %d scanf(%*6d%4d%2d%2d,&year,&month,&day);6d -- 跳过6个字符。4d%2d%2d -- 读4位整数,读2位整数,读2位整数。
关于c语言输入不需要用符号和c语言没有输入语句的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







