【发布时间】:2015-03-20 03:16:48
【问题描述】:
所以,我是 C 编程和一般编程的初学者(我知道一点 JavaScript,哈哈)。我正在尝试编写一个程序,该程序在整数数组中搜索用户的编号(编号),将其登录,并为他们提供有关其帐户的信息。
请注意,我只是为了好玩和练习而制作这个,没有特别的原因。
我的问题:我使用for 循环来增加我的int i; 变量来搜索数组。代码:
main () {
int userNo [9] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
float ultarCloud [9] = {12.04, 17.33, 8.9, 2.1, 13.75, 23.2, 25.0, 19.0, 5.34};
int scan;
int accountNo;
int found = 0;
int choice = 0
for (scan=0; scan<10; scan++)
{
printf("\n\t\tPlease enter your Ultra-Cloud account No.:");
scanf(" %d", &account);
if (accountNo == userNo[scan])
{
found = 1; //statement becomes true
break;
}
}
if (found = 1)
{
do {...}
发生的情况是程序只接受int scan; 的值是当用户键入他们的编号时,并且只会在键入不正确的值时结束 for 循环(不在 userNo 数组中的东西)。当输入错误答案时,程序会完全结束。
我做错了吗?如果您知道出了什么问题,请告诉我。任何建议也非常感谢。我正在使用 code::blocks IDE 顺便说一句。只是为了让你知道我没有太多使用堆栈溢出,所以如果我问“错误”的方式,请告诉我。谢谢
【问题讨论】:
-
将
if (found = 1)更改为if (found == 1)以及scanf中的account是什么? -
代码无法编译,如果编译,会产生警告,指出您的错误。
-
它会编译。如果你们中的任何一个都不知道 c 编程 scanf() 用于提示用户:)