c语言 怎样用scanf输入数组变量?
#includestdio.h
void main()
{
int a[10], i;
// 输入10个数,放入数组
for(i=0; i10; i++)
{
scanf(“%d”, a[i]);
}
// 输出
for(i=0;i10;i++)
{
printf(“%d\n”, a[i]);
}
}
用循环语句实现
c语言中的scanf 函数的用法
scanf 函数最主要的用法是:
scanf(“输入控制符”, 输入参数);
功能:将从键盘输入的字符转化为“输入控制符”所规定格式的数据,然后存入以输入参数的值为地址的变量中。
用scanf()函数以%s格式读入的数据不能含有空白符时,所有空白符都被当做数据结束的标志。所以题中函数输出的值只有空格前面的部分。
如果想要输出包括空格在内的所有数据,可以使用gets()函数读入数据。gets()函数的功能是读取字符串,并存放在指定的字符数组中,遇到换行符或文件结束标志时结束读入。换行符不作为读取串的内容,读取的换行符被转换为字符串结束标志’\0’。
扩展资料:
使用scanf()函数需要注意的问题:
1.对于字符串数组或字符串指针变量,由于数组名可以转换为数组和指针变量名本身就是地址,因此使用scanf()函数时,不需要在它们前面加上””操作符。
2.可以在格式化字符串中的”%”各格式化规定符之间加入一个整数,表示任何读操作中的最大位数。
3.scanf函数中没有类似printf的精度控制。
如:scanf(“%5.2f”,a); 是非法的。不能企图用此语句输入小数为2位的实数。
4.scanf中要求给出变量地址,如给出变量名则会出错
如:scanf(“%d”,a);是非法的,应改为scanf(“%d”,a);才是合法的。
5.在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔,则可用空格,TAB或回车作间隔。
C编译在碰到空格,TAB,回车或非法数据(如对“%d”输入“12A”时,A即为非法数据)时即认为该数据结束。
6.在输入字符数据(%c)时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。
参考资料:
百度百科-scanf()函数
百度百科-gets()函数
C语言用scanf给数组赋值问题
scanf()中如果在%d后面加了一个空格,会使scanf()函数在读数时跳过输入中的空白字符(包括空格、回车等),直到遇到第一个非空白字符出现为止。当你输入完5个数之后,由于你的%d后面带空格,所以scanf仍然在期待出现一个非空白符才结束。你甚至可以在输入完5个数之后,再输入一个字母,也是可以的(只要不是空白字符就行)。这是C语言的特性,你有空可以多读读C标准库的书。
如何在C语言中用scanf输入数组
非char类型数组,只能一个一个的输入数组元素!
char
类型数组,可以用字符串操作输入一连串的字符。char
str[100]
;
scanf(“%s”,
str
);
C语言中scanf函数的输入格式
scanf函数是c语言中输入函数的一种,将用户从键盘输入的文本转换为对应的值存储起来,下面请看详细的教程。
1、首先在主函数中定义一个变量age,类型为int类型。
2、接着用printf函数给出相应的提示—“please enter your age”。
3、使用scanf函数,将用户输入的内容存储到age这个变量,注意在变量要加上,如果是字符数组则不用加。
4、这时将这个变量的值打印出来,也就是用户输入的内容打印出来。
5、最后右键单击,在弹出的菜单中点击“run code”。查看运行结果,就完成了。