C使用用户输入结束循环
我正试图编写一个程序,让用户在数组中插入整数值,直到他们输入一个特定的键停止,比如enter或X 我知道这是错误的,但这是我的思考过程。有什么想法吗?谢谢你的帮助C使用用户输入结束循环,c,arrays,input,while-loop,scanf,C,Arrays,Input,While Loop,Scanf,我正试图编写一个程序,让用户在数组中插入整数值,直到他们输入一个特定的键停止,比如enter或X 我知道这是错误的,但这是我的思考过程。有什么想法吗?谢谢你的帮助 在使用int-array_-numb[100]时,在数组中输入所需的任意多个值,总有一天你会遇到麻烦。如果用户在输入前输入了100多个数字,该怎么办?你会占用分配的内存,不是吗 您应该检查scanf()的返回值,以确保输入正确。提供的格式说明符与输入类型不匹配将导致scanf()失败。详细信息请查看 您需要在while(1)循环中包含
在使用int-array_-numb[100]时,在数组中输入所需的任意多个值
代码>,总有一天你会遇到麻烦。如果用户在输入前输入了100多个数字,该怎么办?你会占用分配的内存,不是吗
scanf()
的返回值,以确保输入正确。提供的格式说明符与输入类型不匹配将导致scanf()
失败。详细信息请查看while(1)
循环中包含break
语句才能中断。否则,您需要在while()
循环的控制表达式中有一个条件语句来终止循环scanf()
的返回值与EOF
进行比较,这可以通过在linux上按CTRL+D和在windows中按CTRL+Z来产生
你可以查一下你的参考资料
在使用int-array_-numb[100]时,在数组中输入所需的任意多个值
代码>,总有一天你会遇到麻烦。如果用户在输入前输入了100多个数字,该怎么办?你会占用分配的内存,不是吗
scanf()
的返回值,以确保输入正确。提供的格式说明符与输入类型不匹配将导致scanf()
失败。详细信息请查看while(1)
循环中包含break
语句才能中断。否则,您需要在while()
循环的控制表达式中有一个条件语句来终止循环scanf()
的返回值与EOF
进行比较,这可以通过在linux上按CTRL+D和在windows中按CTRL+Z来产生
你可以查一下你的参考资料
在使用int-array_-numb[100]时,在数组中输入所需的任意多个值
代码>,总有一天你会遇到麻烦。如果用户在输入前输入了100多个数字,该怎么办?你会占用分配的内存,不是吗
scanf()
的返回值,以确保输入正确。提供的格式说明符与输入类型不匹配将导致scanf()
失败。详细信息请查看while(1)
循环中包含break
语句才能中断。否则,您需要在while()
循环的控制表达式中有一个条件语句来终止循环scanf()
的返回值与EOF
进行比较,这可以通过在linux上按CTRL+D和在windows中按CTRL+Z来产生
你可以查一下你的参考资料
在使用int-array_-numb[100]时,在数组中输入所需的任意多个值
代码>,总有一天你会遇到麻烦。如果用户在输入前输入了100多个数字,该怎么办?你会占用分配的内存,不是吗
scanf()
的返回值,以确保输入正确。提供的格式说明符与输入类型不匹配将导致scanf()
失败。详细信息请查看while(1)
循环中包含break
语句才能中断。否则,您需要在while()
循环的控制表达式中有一个条件语句来终止循环scanf()
的返回值与EOF
进行比较,这可以通过在linux上按CTRL+D和在windows中按CTRL+Z来产生
您可以查看您的参考资料。同样的事情也可以实现,如下所示:
scanf()
可能会失败并检查返回值。扫描字符时,scanf()失败
inti=0;
printf(“在数组中输入所需数量的值,按x将结束循环\n”);
而(i同样的事情可以实现如下所示:
scanf()
可能会失败并检查返回值。扫描字符时,scanf()会失败
inti=0;
printf(“在数组中输入所需数量的值,按x将结束循环\n”);
而(i同样的事情可以实现如下所示:
scanf()
可能会失败并检查返回值。扫描字符时,scanf()会失败
inti=0;
printf(“在数组中输入所需数量的值,按x将结束循环\n”);
而(i同样的事情可以实现如下所示:
scanf()
可能会失败并检查返回值。扫描字符时,scanf()会失败
inti=0;
printf(“在数组中输入所需数量的值,按x将结束循环\n”);
而(iscanf
)和%i
,在插入无效数据(如字符)时将无法扫描数字,如果扫描失败,将返回0(在您的情况下)
只需检查scanf的返回值即可。如果返回值为零,请使用
if(getchar()=='x') //or if(getchar()==quit)
break;
注意:使用清除/刷新标准输入流(stdin
)
循环之后以及中断之后;
scanf
,使用%i
,当插入无效数据(如字符)时,将无法扫描数字并返回
int i=0;
printf("Enter as many values into the array as you want, pressing x will end the loop\n");
while(i<100 && scanf("%d",&array_numb[i])==1)
{
i++;
}
if(getchar()=='x') //or if(getchar()==quit)
break;
int c;
while((c=getchar())!='\n' && c!=EOF);