这个错在哪里,看不出来

看看这个错在哪里,看不出来,麻烦各位劳神看一下,本人已经看不出来了

img

img

修改处见注释,供参考:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 100   //修改
int sop(int a[], int n);  //修改
int main()
{
    int i, n;
    int a[N];  //修改
    srand((unsigned int)time(NULL)); //修改
    scanf("%d", &n);                 //修改
    for (i = 0; i < n; i++)
        a[i] = 1 + rand() % 50;
    for (i = 0; i < n; i++)
        printf("%5d", a[i]);
    printf("\n");
    int t = sop(a, n);
    if (t != 0)                     //修改
        printf("%d\n", t);
    else
        printf("No\n");           //修改
    return 0;
}
int sop(int a[], int n)
{
    int i, cout = 0;  // 修改
    for (i = 0; i < n; i++)
        if (a[i] % 3 == 0) cout++; //修改
    return cout;
}

img


感谢采纳,有疑问可继续交流!

数组里面要写一个具体的数字,如果硬是要写字符,则要将此字符宏定义。例如#define n 3