c语言scanf数组
㈠ c语言 怎样用scanf输入数组变量
#include<stdio.h>
voidmain()
{
inta[10],i;
//输入10个滑世樱数,放入数组
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
信丛//输出
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
返老}
}
用循环语句实现
㈡ c语言中的scanf 函数的用法
1、用法:int scanf(char *format[,argument,...]);
scanf()函数是通用终端格式化输入函数,它从标准输入设备(键盘) 读取输入的信息。可以读入任何固有类型的数据并自动把数值变换成适当的机内格式。
2、其调用格式为:
scanf("<格式化字符串>",<地址表>);
scanf()函数返回成功赋值的数据项数,出错时则返回EOF。
3、scanf()函数的控制串的使用:
#include "stdio.h"
int main(void)
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("%d,%d,%d/n",a,b,c);
return 0;
}
(2)c语言scanf数组扩展阅读:
scanf 函数使用中的注意事项:
(1)在高版本的 Visual Studio 编译器中,scanf 被认为是不安全的,被弃用,应当使用scanf_s代替 scanf。
(2) 对于字符串数组或字符串指针变量,由于数组名可以转换为数组和指针变量名本身就是地址,因此使用scanf()函数时,不需要在它们前面加上"&"操作符。
(3) 可以在格式化字符串中的"%"各格式化规定符之间加入一个整数,表示任何读操作中的最大位数。
(4) scanf函数中没有类似printf的精度控制。
如: scanf("%5.2f",&a); 是非法的。不能企图用此语句输入小数为2位的实数。
㈢ C语言中 用scanf函数输入字符串数组,取地址符&是不用输的,如果输了取地址符算错么 ,或者含义不一样么
不一样。
C语言的字符串为数组形式,而数组的名称可以表示纳慧其地址,故对字符串输入不需要加地址符。而单独的字符、整型变量等的名称不能直接表示地址,故需要加地址符。
数组名就代表了该数组的地址。整个数组是一块连续的内存单元,数组名所代表的地址为第0个元素的地址,c就代表c[0]的地址。
设数组c的首地址为0X2000,也就是说c[0]地址为0X2000,则数组名c就代表这个首地址。因为c已猜谈经表示地址,所以在c前面不能再加取地址符&穗茄碰。
字符串数据类型是建模在形式字符串的想法上的数据类型。字符串是几乎在所有编程语言中可以实现的非常重要和有用的数据类型。
(3)c语言scanf数组扩展阅读
为了避免这种情况,可多设几个字符数组分段存放含空格的串。程序可改写如下:
#include<stdio.h>
intmain()
{
charstr1[20],str2[20],str3[20];
printf("Input string: ");
scanf("%s %s %s %s",str1,str2,str3);
printf("Your string: %s %s %s %s ",str1,str2,str3);
}
运行结果:
Input string: C C++ Java
Your string: C C++ Java
㈣ 如何在C语言中用scanf输入数组
非char类拍旦型数组,只能一个一个的输入数晌洞组元素!
char
类型数组,可以用字符串操作输入一连串的字符。char
str[100]
;
scanf("袭谨扰%s",
str
);
㈤ c语言中,scanf里面要是数组要不要加
数组分为两种
一种是char 类数组, 可以作为字符串输入 这种 不需要加&,用%s输入
另一种, 是其它数组,要逐亩镇个元素输入
需要加&
比租耐桥如 &a[3] 输弊猛入a[3]
如果要输入a[0]可以直接用a 或者用&a[0]
㈥ C语言用scanf给数组赋值问题
scanf()中如果在%d后面加了一个空格,会使scanf()函数在读数时跳过输入中的空白字符(包括空格、回车等),直到遇到第一个非空白字改竖符出现为止。当你输入完5个数之后,由于你的%d后面带空格,所以scanf仍然在期待出现一个非空白符才结束。你甚至可以在输入完5个数之后,再输入一个字母,也是可以的(只要不是空游歼枯白字符就行)。这是C语言的特性,你有空可以多读读神洞C标准库的书。
㈦ c语言问题:怎样用scanf获取int类型的数组
c语言学习之基础知识点介绍(三):scanf函数
本节继续介绍c语言的基础知识点。
scanf函数:用来接收用户输入的数据。
语法:scanf("格式化控制符",地址列表);
取地址要用到取地址符:&(shift+7)
例如:int num =0; csanf("%d",&num);printf("num = %d \n",num);
注意:格式化控制符前面要求输入什么类型的数据,那么地址列表那里就必须只能放相应类型变量地址。输入值的时候可以指定输入值的分隔符,
也可以 默认用回车。
scanf的特点:
它是一个阻塞式的函数。
例如:printf("请输入吧:\n");
int num ;
scanf("%d"&num);
printf("呵呵,你输入的是 %d",num);
一次输入多个值:int num ; float num1;(可以输入n次,n=格式化控制符的数量)
scanf("%d %f",&num,&num1);
注意:顺序不能乱;如果不想用空格在一行内输入,自己可以指定其他符号,但是输入的时候必须按照这个符号来,否则会异常(后面的变量接不到值);如果想在scanf中加文字,输入的时候也一定要按照scanf中的格式来输入;用scanf的时候,最好不要先接收一个任意数值类型(整型,实型),在接收一个char类型,如果非要接收char类型的,一定要在scanf的格式化控制符前面加一个空格。如果scanf要接收的是数字,不管你输入多少个空格和回车,都不会停止让你输入;如果scanf要接收的是int类型,你输入一个小数,那么只会截取小数的整数部分。如果接收的是数字,输入的是字符,会停止输入,但不会保存你输入的值。
scanf的运行原理:
scanf用于接收用户的输入,但是用户的输入不是直接给了变量,而是存在了缓冲区。步骤如下:
1、接收输入的时候,会先去缓冲区里面找,看缓冲区中是否合适的值,若有,那么就直接停止输入,然后把这里面的值赋给变量。若没有就一直让你输入,一直到有合适的为止。
㈧ 如何在C语言中用scanf输入数组
#include
main()
struct
int num;
char name[20];
char sex;
int age;
stu[5];
int i;
for(i=0;i<5;i++)
printf("请输入信息 ");
scanf("%d",&stu[i].num);
scanf("%s",&stu[i].name);
scanf("%c",&stu[i].sex); //在%c之前加一个空格
scanf("%d",&stu[i].age);
for(i=0;i<5;i++)
printf( "*%s*",stu[i].name);
(8)c语言scanf数组扩展阅读:
函数 scanf() 是从标准输入流stdin[1](标准输入设备,一般指向键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。
函数的第一个参数是格式字符串,它指定了输入的格式,并按照格式说明符解析输入对应位置的信息并存储于可变参数列表中对应的指针所指位置。每一个指针要求非空,并且与字符串中的格式符一一顺次对应。