扶风之木 发表于 2022-4-29 19:29:47

【求助中】数组排序问题

本帖最后由 扶风之木 于 2022-4-29 19:31 编辑

#include<stdio.h>
#define N 10
void main()
{
        int array, max, i;
        printf("please input 10 int\n");
        for (i = 0; i < N; i++)
                scanf_s("%d", array+1);
        max = array;
        for (i= 1; i < N; i++)
                if (max < array)max = array;
        printf("%d", max);
}
这是一个求10个整数中最大值的程序,但是我这样写求出来的是最后一个数,求解答。

风车呼呼呼 发表于 2022-4-29 19:36:37

scanf_s("%d", array+1);
是array+i。只是在array反复赋值,虽然没有初始化array,可能是编译环境自动给你初始化为0了,这才没有报错。

柿子饼同学 发表于 2022-4-29 19:55:27

用 array 不香?
那个循环里它一直是 array + 1 , 所以成功输入的数只有最后一个
不然改成 array + i 也可以

cjgank 发表于 2022-4-29 23:50:06

#include <stdio.h>
#define N 10
void main()
{
    int array, max, i;
    printf("please input 10 int\n");
    for (i = 0; i < N; i++)
      scanf ("%d", array + i);//此处有修改
    max = array;
    for (i = 1; i < N; i++)
      if (max < array)
            max = array;
    printf("%d\n", max);
}
页: [1]
查看完整版本: 【求助中】数组排序问题