Lusy 发表于 2020-4-29 20:51:26

函数输入问题

输入10个整数,将它们存入数组a中,再输入一个正整数m,查找m在数组中是否存在,若存在,输出第一个查找到的元素下标,若不存在,输出Not Found.
我输入10个数之后无法输入m的值,求大神指教以及指正错误

#include <stdio.h>
int main()
{
   int i;
   int a;
    printf("Enter 10 integers: ");
        scanf("%d ",&a);
                 
    int m;
    printf("Enter m: ");
    scanf("%d ",&m);
       
    int flag=0;
        for(i=0;i<10;i++)
        {       
                if(m==a)
               flag=1;break;
       }
        if(flag)
             printf("Index is %d",i);
                  
        else
                  printf("Not Found.");
        return 0;
}

liuzhengyuan 发表于 2020-4-29 20:54:31

输入时要这样:
for(int i=0; i<10; i++)
{
    scanf('%d', &a)
}

Lusy 发表于 2020-4-29 21:01:37

liuzhengyuan 发表于 2020-4-29 20:54
输入时要这样:

能输入m的值了,但后面什么都没显示

liuzhengyuan 发表于 2020-4-29 21:06:16

Lusy 发表于 2020-4-29 21:01
能输入m的值了,但后面什么都没显示

好吧我刚刚的输入代码打错了
这样才对,我搞成单引号了
for(int i=0; i<10; i++)
{
    scanf("%d", &a);
}

Lusy 发表于 2020-4-29 21:08:25

liuzhengyuan 发表于 2020-4-29 21:06
好吧我刚刚的输入代码打错了
这样才对,我搞成单引号了

我就输入的这个

liuzhengyuan 发表于 2020-4-29 21:08:51

本帖最后由 liuzhengyuan 于 2020-4-29 21:12 编辑

Lusy 发表于 2020-4-29 21:01
能输入m的值了,但后面什么都没显示

if(m==a)
               flag=1;break
这个语句你没加大括号了,if 语句中代码超过两条就得加大括号的‘({}’)

正确代码:
#include <stdio.h>
int main()
{
   int i;
   int a;
    printf("Enter 10 integers: ");
    for(int i=0; i<10; i++)
        {
            scanf("%d", &a);
        }
               
    int m;
    printf("Enter m: ");
    scanf("%d",&m);
      
    int flag=0;
      for(i=0;i<10;i++)
      {      
            if(m==a)
            {
                flag=1;break;
            }
         }
      if(flag)
      {
            printf("Index is %d",i);
                }
      else
      {
            printf("Not Found.");
      }
      return 0;
}

liuzhengyuan 发表于 2020-4-29 21:09:58

Lusy 发表于 2020-4-29 21:08
我就输入的这个

我有发现了你的一个问题(看楼上)

Lusy 发表于 2020-4-29 21:12:51

liuzhengyuan 发表于 2020-4-29 21:08
这个语句你没加大括号了,if 语句中代码超过两条就得加大括号的‘({}’)

正确代码:

还是跟刚才一样

liuzhengyuan 发表于 2020-4-29 21:13:47

Lusy 发表于 2020-4-29 21:12
还是跟刚才一样

你的第9行 scanf("%d ", &m)
%d 后面多加了一个空格。。。

Lusy 发表于 2020-4-29 21:15:39

liuzhengyuan 发表于 2020-4-29 21:13
你的第9行 scanf("%d ", &m)
%d 后面多加了一个空格。。。

OK了,多谢

liuzhengyuan 发表于 2020-4-29 21:16:15

Lusy 发表于 2020-4-29 21:15
OK了,多谢

满意请设最佳答案{:10_254:}
页: [1]
查看完整版本: 函数输入问题