无情修罗 发表于 2014-12-15 22:55:37

入门级菜鸟问题,求指教

本帖最后由 无情修罗 于 2014-12-20 13:15 编辑

int maxiNum = 0;

void dispMaxNum();

int main(void)
{
      int i, oneNumber, maxNumber = 0;

      printf("Please input 10 int number:");
      {
                int maxNumber = 0;
                /*********Found************/
                              {
                        for (i = 0; i < 10; i++)
                        {
                              scanf("%d", &oneNumber);
                              if (oneNumber > maxNumber)
                              {
                                        maxNumber = oneNumber;
                              }
                        }
                }
                /*********Found************/

      /*********Found************/
                }
      dispMaxNum();

      return 0;
}

void dispMaxNum()
{
      /*********Found************/
      printf("maxNumber = %d\n", maxNumber);
}
这个第二和第四个Found下第一行怎么改?

风之残月 发表于 2014-12-15 22:55:38

你这个应该是考C语言二级的题目吧,我也不清楚这样改对不对,因为不能增删,你看看吧
#include <stdio.h>

int maxiNum = 0;

void dispMaxNum();

int main(void)
{
        int i, oneNumber, maxNumber = 0;
       
        printf("Please input 10 int number:");
        {
                int maxNumber = 0;
                /*********Found************/
                //{
                        for (i = 0; i < 10; i++)
                        {
                                scanf("%d", &oneNumber);
                                if (oneNumber > maxNumber)
                                {
                                        maxNumber = oneNumber;
                                }
                        }
                //}
                /*********Found************/
                maxiNum = maxNumber;
      /*********Found************/
        }
        dispMaxNum();
       
        return 0;
}

void dispMaxNum()
{
        /*********Found************/
        printf("maxNumber = %d\n", maxiNum);
}

故乡的风 发表于 2014-12-16 00:22:19

lz贴代码的时候最好使用代码框。这样的排版看着真的很不舒服。还有,代码尽量规范一点,至少层次搞清晰一点。
lz的问题就是变量的作用域没搞清楚。第一个maxNumber作用域是main函数内。第二个maxNumber作用域是printf下面的大括号内,其值可以改变,它屏蔽了第一个maxNumber,所以第一个maxNumber的值不会变。第三个maxNumber没有定义,你可以修改函数,传参进来,或者定义一个全局变量。

无情修罗 发表于 2014-12-16 10:31:36

故乡的风 发表于 2014-12-16 00:22
lz贴代码的时候最好使用代码框。这样的排版看着真的很不舒服。还有,代码尽量规范一点,至少层次搞清晰一点 ...

谢谢提醒,不过,不能随意修改,只能在第二表和第四表Foun修改

故乡的风 发表于 2014-12-16 10:50:29

无情修罗 发表于 2014-12-16 10:31
谢谢提醒,不过,不能随意修改,只能在第二表和第四表Foun修改

不好意思,没理解lz的用意。3楼方案应该是可行的。

无情修罗 发表于 2014-12-16 12:45:04

风之残月 发表于 2014-12-16 09:06
你这个应该是考C语言二级的题目吧,我也不清楚这样改对不对,因为不能增删,你看看吧

谢谢了。现在正确了!
页: [1]
查看完整版本: 入门级菜鸟问题,求指教