scanf输入数组?scanf在c语言中的用法
大家好,如果您还对scanf输入数组不太了解,没有关系,今天就由本站为大家分享scanf输入数组的知识,包括scanf在c语言中的用法的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
如何在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);
扩展资料:
函数 scanf()是从标准输入流stdin[1](标准输入设备,一般指向键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。
函数的第一个参数是格式字符串,它指定了输入的格式,并按照格式说明符解析输入对应位置的信息并存储于可变参数列表中对应的指针所指位置。每一个指针要求非空,并且与字符串中的格式符一一顺次对应。
参考资料来源:百度百科-scanf
如何用scanf给数组赋值啊
可以参考下面的代码:
#include<stdio.h>
int main()
{
int a[3][2], i, m;
for(i= 0; i< 3; i++)
{
for(m=0;m<2;m++)
scanf("%d",&a[i][m]);
for(i= 0; i< 3; i++)
{
for(m=0;m<2;m++)
printf("%d
", a[i][m]);
}
return 0;
}
扩展资料:
函数原型
intscanf(constchar*restrictformat,...);
函数 scanf()是从标准输入流stdin(标准输入设备,一般指向键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。
函数的第一个参数是格式字符串,它指定了输入的格式,并按照格式说明符解析输入对应位置的信息并存储于可变参数列表中对应的指针所指位置。每一个指针要求非空,并且与字符串中的格式符一一顺次对应。
参考资料来源:百度百科-scanf(计算机语言函数)
怎么用C语言的scanf实现一次输入若干个数据
根据需要一般选择如下3种方法:
1,已知数量,且个数较少:
scanf("%d%d%d",&a&b&c);
2,已知数量,但数量较多:
for(inti=0;i<n;i++)
scanf("%d",&a[i]);
3,不知道数量
inti=0;
while(scanf("%d",&a[i]))
{
i++;
}
扩展资料:
scanf输入指南:
(1)在高版本的 Visual Studio编译器中,scanf被认为是不安全的,被弃用,应当使用scanf_s代替 scanf。
(2)对于字符串数组或字符串指针变量,由于数组名可以转换为数组和指针变量名本身就是地址,因此使用scanf()函数时,不需要在它们前面加上"&"操作符。
(3)可以在格式化字符串中的"%"各格式化规定符之间加入一个整数,表示任何读操作中的最大位数。
(4) scanf函数中没有类似printf的精度控制。
如: scanf("%5.2f",&a);是非法的。不能企图用此语句输入小数为2位的实数。
(5) scanf中要求给出变量地址,如给出变量名则会出错
如 scanf("%d",a);是非法的,应改为scanf("%d",&a);才是合法的。
(6)在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔,则可用空格,TAB或回车作间隔。
C编译在碰到空格,TAB,回车或非法数据(如对“%d”输入“12A”时,A即为非法数据)时即认为该数据结束。
(7)在输入字符数据(%c)时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。
OK,本文到此结束,希望对大家有所帮助。