2350595389 发表于 2020-8-19 15:41:46

用的VC6.0,这是编译器问题,还是代码问题,在其他编译器可以运行

代码:
#include<stdio.h>
#define N 100
#include<stdlib.h>
#include<time.h>
int main()
{
    srand((unsigned)time(NULL));
        int a;
        int i,j,t;
        printf("排序前的随机数为:\n");
                for(i=0;i<=9;i++){
                        a=rand()%31+70;
                printf("%d\t",a);
                }
        putchar('\n');
        printf("排序后为:\n");
        for(i=0;i<=9;i++){
                for(j=i+1;j<=9;j++)
                        if(a<a){
                                t=a;
                                a=a;
                                a=t;}
        printf("%d\t",a);
        }
        putchar('\n');
                return 0;
                }

static/image/hrline/line7.png
错误信息:
Compiling...
wenda.c
D:\VC6.0\CCC\wenda.c(8) : error C2143: syntax error : missing ';' before 'type'
D:\VC6.0\CCC\wenda.c(9) : error C2143: syntax error : missing ';' before 'type'
D:\VC6.0\CCC\wenda.c(11) : error C2065: 'i' : undeclared identifier
D:\VC6.0\CCC\wenda.c(12) : error C2065: 'a' : undeclared identifier
D:\VC6.0\CCC\wenda.c(12) : error C2109: subscript requires array or pointer type
D:\VC6.0\CCC\wenda.c(12) : error C2106: '=' : left operand must be l-value
D:\VC6.0\CCC\wenda.c(13) : error C2109: subscript requires array or pointer type
D:\VC6.0\CCC\wenda.c(18) : error C2065: 'j' : undeclared identifier
D:\VC6.0\CCC\wenda.c(19) : error C2109: subscript requires array or pointer type
D:\VC6.0\CCC\wenda.c(19) : error C2109: subscript requires array or pointer type
D:\VC6.0\CCC\wenda.c(20) : error C2065: 't' : undeclared identifier
D:\VC6.0\CCC\wenda.c(20) : error C2109: subscript requires array or pointer type
D:\VC6.0\CCC\wenda.c(21) : error C2109: subscript requires array or pointer type
D:\VC6.0\CCC\wenda.c(21) : error C2109: subscript requires array or pointer type
D:\VC6.0\CCC\wenda.c(21) : error C2106: '=' : left operand must be l-value
D:\VC6.0\CCC\wenda.c(22) : error C2109: subscript requires array or pointer type
D:\VC6.0\CCC\wenda.c(22) : error C2106: '=' : left operand must be l-value
D:\VC6.0\CCC\wenda.c(23) : error C2109: subscript requires array or pointer type
执行 cl.exe 时出错.

wenda.obj - 1 error(s), 0 warning(s)

zltzlt 发表于 2020-8-19 15:42:33

应该是编译器的问题,现在不建议用 VC 了

永恒的蓝色梦想 发表于 2020-8-19 16:07:27

编译器问题。
这里下载 VS2019

风过无痕1989 发表于 2020-8-19 17:44:37

#include<stdio.h>
#define N 100
#include<stdlib.h>
#include<time.h>
int main()
{
        int a;
        int i,j,t;
        srand((unsigned)time(NULL));   // 从第7行调到第9行来
        printf("排序前的随机数为:\n");
        for(i=0;i<=9;i++)
        {
                a=rand()%31+70;
                printf("%d\t",a);
        }
        putchar('\n');
        printf("排序后为:\n");
        for(i=0;i<=9;i++)
        {
                for(j=i+1;j<=9;j++)
                {
                        if(a<a)
                        {
                                t=a;
                a=a;
                a=t;
                        }
            printf("%d\t",a);
      }
        }                     //少一个括号
        putchar('\n');
        return 0;
}


倒数第四行,少了一个括号,将第8行、第9行置于第7行之前。这样改动,你的程序就能正常运行

2350595389 发表于 2020-8-19 19:12:30

风过无痕1989 发表于 2020-8-19 17:44
倒数第四行,少了一个括号,将第8行、第9行置于第7行之前。这样改动,你的程序就能正常运行

这样可以运行了,但结果是这样

2350595389 发表于 2020-8-19 19:16:33

风过无痕1989 发表于 2020-8-19 17:44
倒数第四行,少了一个括号,将第8行、第9行置于第7行之前。这样改动,你的程序就能正常运行

诶,我自己输了一遍又行了,,,谢谢大佬

2350595389 发表于 2020-8-19 19:20:09

风过无痕1989 发表于 2020-8-19 17:44
倒数第四行,少了一个括号,将第8行、第9行置于第7行之前。这样改动,你的程序就能正常运行

第二个for语句加{}后,就是我回复你的那个图片,不加{}只是把8、9行放前面可以正常运行,结果也是对的

风过无痕1989 发表于 2020-8-19 19:38:39

2350595389 发表于 2020-8-19 19:20
第二个for语句加{}后,就是我回复你的那个图片,不加{}只是把8、9行放前面可以正常运行,结果也是对的

我不知道,你想达到什么样的效果,也就只能检查程序能否正常运行

2350595389 发表于 2020-8-19 21:04:16

风过无痕1989 发表于 2020-8-19 19:38
我不知道,你想达到什么样的效果,也就只能检查程序能否正常运行

嗯,忘了说了,随机产生是个70~100的数,并从大到小排序
页: [1]
查看完整版本: 用的VC6.0,这是编译器问题,还是代码问题,在其他编译器可以运行