Visual studio 2010 MS VS 2010 srand()未编译?

Visual studio 2010 MS VS 2010 srand()未编译?,visual-studio-2010,compiler-errors,srand,Visual Studio 2010,Compiler Errors,Srand,我有一段代码(我是学生)理论上“应该”行得通,但微软的VisualStudio2010似乎在srand上有问题,因为它没有像其他保留名称那样突出显示 如果我从Auto_Complete_Matrix中删除srand,那么代码编译就不会有问题 函数自动完成矩阵 错误2错误C2143:错误解单轴:缺少“;”在“type”c:\users\jorgee之前\桌面\uade\program。1\proyectos\tp3 matrix\ejercicio 2\main.c 46 1 ejercicio

我有一段代码(我是学生)理论上“应该”行得通,但微软的VisualStudio2010似乎在srand上有问题,因为它没有像其他保留名称那样突出显示

如果我从
Auto_Complete_Matrix
中删除srand,那么代码编译就不会有问题

函数自动完成矩阵

错误2错误C2143:错误解单轴:缺少“;”在“type”c:\users\jorgee之前\桌面\uade\program。1\proyectos\tp3 matrix\ejercicio 2\main.c 46 1 ejercicio 2

我包括了stdlib和时间库

非常感谢你的帮助

/* 2.   Realizar una función que determine si una matriz cuadrada de dimensión N 
es simétrica con respecto a su diagonal principal. */


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <stdlib.h>

#define FIL 5
#define COL 5

int True_False( char *message );
int Auto_Complete_Matrix( int matrix[ FIL ][ COL ] );
int Manual_Complete_Matrix( int matrix[ FIL ][ COL ] );
void Print_Matrix( int matrix[ FIL ][ COL ] );

int main () {
    int matrix[ FIL ][ COL ];
    if( True_False( "Desea autocompletar la Matriz con números al azar? <Si / No> \n\n" ) ) {
        Auto_Complete_Matrix( matrix );
    }
    else {
        Manual_Complete_Matrix( matrix );
    }
    Print_Matrix( matrix );
    system( "pause" );
}

int True_False( char *message ) {
    char Answer[3];
    fputs( message, stdout );
    fgets( Answer, 3, stdin );
    if ( Answer[0] == 1 ) {
        return 1;
    }
    if ( strncmp( Answer, "Si", 2 ) == 0 || strncmp( Answer, "si", 2 ) ) {
        return 1;
    }
    return 0;
}

int Auto_Complete_Matrix ( int matrix[ FIL ][ COL ] ) {

    srand(time(0));
    int i, j;

    for ( i = 0; i < FIL; i ++ ) {
        for ( j = 0; j < COL; j ++ ) {
            matrix[i][j] = rand() % (100 - 0 + 1) + 0;
        }
    }
    return 0;
}

int Manual_Complete_Matrix( int matrix[ FIL ][ COL ] ) {

    int i, j;

    for ( i = 0; i < FIL; i++ ) {
        for ( j = 0; j < COL; j++ ) {
            while( fscanf( stdin, "%d", matrix[i][j] ) != 1 ) {
                fflush( stdin );
                continue;
            }
        }
    }
}

void Print_Matrix( int matrix[ FIL ][ COL ] ) {
    int i, j;
    for( i = 0; i < FIL; i++) {
        for( j = 0; j < COL; j++ ) {
            printf( "%5d", matrix[i][j] );
        }
        puts("\n");
    }
}
/*2。功能的实现取决于尺寸的矩阵
这是一个简单的原则*/
#包括
#包括
#包括
#包括
#包括
#定义FIL 5
#定义第5列
int True_False(字符*消息);
int自动完备矩阵(int矩阵[FIL][COL]);
int手动完整矩阵(int矩阵[FIL][COL]);
无效打印矩阵(整数矩阵[FIL][COL]);
int main(){
整数矩阵[FIL][COL];
如果(真或假(“自动完成矩阵控制”\n\n){
自动完成矩阵(矩阵);
}
否则{
手动完成矩阵(矩阵);
}
打印矩阵(矩阵);
系统(“暂停”);
}
int True\u False(字符*消息){
答案[3];
FPUT(消息、标准输出);
fgets(答案3,标准DIN);
如果(回答[0]==1){
返回1;
}
if(strncmp(回答“Si”,2)==0 | | strncmp(回答“Si”,2)){
返回1;
}
返回0;
}
整数自动完成矩阵(整数矩阵[FIL][COL]){
srand(时间(0));
int i,j;
对于(i=0;i
在编译为C(而不是C++)的文件中,必须在封闭范围的顶部声明所有变量(即,在本例中为周围的大括号)。在这里,您调用的是'inti,j'声明语句之前的函数(srand)。

该死的noob错误。。。我知道,但由于某种原因,我把它忘在了斯兰的身上。谢谢lot@Jorge在上面的打印输出中很难分辨,但是如果您查看错误中提到的行号,我希望它表明变量声明行存在问题,而不是srand调用行。从长远来看,仔细查看错误消息中的详细信息将对您有所帮助:)