weixin_39327835
はるはるはる
采纳率25%
2017-11-20 15:21

C语言:输入10个数,输出最大值

已采纳

请问为什么我要输入11个数才能运行?请问我应该怎么改?图片图片

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

16条回答

  • astemf astemf 4年前

    scanf 不需要\n
    scanf加了\n后,你输入一个数后,它是不会立即显示要等再接收到一个非(空格、制表符、回车)的输入scanf语句才结束。

    点赞 3 评论 复制链接分享
  • weixin_41113186 史迪仔的爸爸 4年前

    scanf中的\n去掉,不需要这个。

    点赞 3 评论 复制链接分享
  • KIIOU 3dadada3 4年前

    你把scanf中的\n去掉

    点赞 3 评论 复制链接分享
  • qq_29318989 qq_29318989 4年前

    命令行的回车作为输入的标识,scanf里不需要\n,与命令行的输入命令冲突了。
    以后遇到这种问题,可自己输出日志排查,比如:
    printf("========\n");
    for(i=0; i<10; i++)
    {
    printf("-=-=-=%d\n", i);
    scanf("%d\n", &a[i]);
    printf("-----%d\n", a[i]);
    }
    你会发现第一次输入1时,回车后,printf("-----%d\n", a[i]);这行并未打印,直到第二次输入回车才打印。
    这就会联想到跟\n有关系,然后思考解决。

    点赞 2 评论 复制链接分享
  • oBoLuoChuiXue12 程序员狗蛋 4年前

    命令行的回车作为输入的标识,scanf里不需要\n,与命令行的输入命令冲突了。
    以后遇到这种问题,可自己输出日志排查,比如:
    printf("========\n");
    for(i=0; i<10; i++)
    {
    printf("-=-=-=%d\n", i);
    scanf("%d\n", &a[i]);
    printf("-----%d\n", a[i]);
    }
    你会发现第一次输入1时,回车后,printf("-----%d\n", a[i]);这行并未打印,直到第二次输入回车才打印。
    这就会联想到跟\n有关系,然后思考解决。

    点赞 2 评论 复制链接分享
  • gao_qj gao_qj 4年前

    命令行的回车作为输入的标识,scanf里不需要\n,与命令行的输入命令冲突了

    点赞 1 评论 复制链接分享
  • weixin_41127192 weixin_41127192 4年前

    命令行的回车作为输入的标识,scanf里不需要\n,与命令行的输入命令冲突了

    点赞 1 评论 复制链接分享
  • qq_39979120 Dingfangwang 4年前

    int scanf(const char * restrict format,...);
    函数原型如上,输入参数里面是没有'\n'的

    点赞 1 评论 复制链接分享
  • qq_33363973 清风不识字12138 4年前

    去掉scanf里的\n

    点赞 1 评论 复制链接分享
  • Insist_bin Insist_bin 4年前

    命令行的回车作为输入的标识,scanf里不需要\n,与命令行的输入命令冲突了,不能加\n

    点赞 1 评论 复制链接分享
  • qq_41389266 一条死在减速带的大鱼 3年前

    命令行的回车作为输入的标识,scanf里不需要\n,与命令行的输入命令冲突了
    print打法好

    点赞 评论 复制链接分享
  • weixin_42430239 忽明忽暗的云朵 3年前

    注意\n的使用,从终端键盘像计算机输入时,不是输入一个字符立马输出一个,而是是在按enter后数据才送入内存缓冲区,然后每次从缓冲区读一个字符,在输出该字符

    点赞 评论 复制链接分享
  • qq_18867155 小铧 3年前

    建议把10换成Num不然就浪费了

    点赞 评论 复制链接分享
  • asdafas1 asdafas1 4年前

    因为你的scanf的\n与系统跳出冲突

    点赞 评论 复制链接分享
  • KIIOU 3dadada3 4年前

    可能是它需要10个换行 然后就要输入11个数

    点赞 评论 复制链接分享
  • long085 long085 4年前

    程序没毛病。编译器的问题吧。

    点赞 评论 复制链接分享

相关推荐