C语言用scanf给数组赋值问题

Python021

C语言用scanf给数组赋值问题,第1张

scanf()中如果在%d后面加了一个空格,会使scanf()函数在读数时跳过输入中的空白字符(包括空格回车等),直到遇到第一个非空白字符出现为止。当你输入完5个数之后,由于你的%d后面带空格,所以scanf仍然在期待出现一个非空白符才结束。你甚至可以在输入完5个数之后,再输入一个字母,也是可以的(只要不是空白字符就行)。这是C语言的特性,你有空可以多读读C标准库的书。

#include <stdio.h>int main(void){ int name[10]int nfor (int i=0i<10i++) { scanf("%d",&n)//输入函数,后边的&n是说存入n的所在的地址 name[i] = n//再把输入数据给数组 } for (i=0i<10i++) { printf("%d\n",name[i])} return 0}

#include <stdio.h>

int main(void)

{

int a[5]

printf("请输入5个数字:");

for(int i=0i<5i++) {

scanf("%d",&a[i]) 

}

for(i=0i<5i++) { 

printf("%d ",a[i]) 

}

printf("\n")

return 0

}

扩展资料:

for循环

for循环是编程语言中一种开界的循环语句,而循环语句 [1]  由循环体及循环的终止条件两部分组成,for循环其在各种编程语言中的实现与表达有所出入,但基本为以C语言和pascal语言代表的两种形式。

C语言中的for循环形式为:

for(单次表达式条件表达式末尾循环体)

{

中间循环体;

}

for循环小括号里第一个“”号前为一个为不参与循环的单次表达式,其可作为某一变量的初始化赋值语句, 用来给循环控制变量赋初值; 也可用来计算其它与for循环无关但先于循环部分处理的一个表达式。

执行的中间循环体可以为一个语句,也可以为多个语句,当中间循环体只有一个语句时,其大括号{}可以省略,执行完中间循环体后接着执行末尾循环体。

参考资料:for循环-百度百科