2014-10-01 83 views
-2

获取返回(巨大)值的问题。我已经检查在enthernet,但一无所获:(希望在这里我能找到答案,我的问题。我只是初学者,所以很难做到的权利,如果你不知道的东西是什么错误((返回值问题C

#include <stdio.h> 
#include <math.h> 


void MasivaIzveide (int *masivs, int x) 
{ 
int i, reiz,n1,n2; 

srand(time(NULL)); 
/* nosaka cik elementu masiva bus */ 
printf("Ievadi, divus masiva emelentus, kuri bus '0' starp kuram bus summa\n\n"); 
printf("\n Pirmais elements="); 
scanf("%d", &n1); 
printf("\n Otrais elements="); 
scanf("%d", &n2); 




    for (i = 0; i < x; i++) 
{ 

    masivs[ i ] = rand() % 200-100 ; /* random vertibas katram masiva skaitlim*/ 
    masivs[n1]= 0; 
    masivs[n2]=0; 
    printf("Loceklis[%d] = %d\n", i, masivs[i]); 
    } 



return; 
} 



void Reizinajums (int *masivs, int x) { 
int i, reiz; 
reiz=masivs[2]; 
for (i=4; i < x; i=i+2) { 
reiz=reiz*masivs[i] ; 
} 
printf("\n\nReizinajums ir %d\n\n\n\n ", reiz); 
return; 
} 
void main(){ 
int i,j,s; 
int masivs[i]; 
printf("Tiks izveidots masiivs\n\n\n\n"); 
MasivaIzveide(masivs,15); 
Reizinajums(masivs,15); 
return; 
} 

问题是在生产线(锐志=锐志* masivs [I]) 我使用指针藏汉 感谢您的帮助

+0

会发生什么?我假定它编译。运行时会发生什么? – 2014-10-01 21:34:26

+1

你所有的函数都返回'void'(这对'main'来说是一个错误)。那么“巨大的回报价值”是什么意思? – 5gon12eder 2014-10-01 21:36:56

回答

2

这是一个错误:

int i,j,s; 
int masivs[i]; 

您声明masivs。与维度i但这是一个未初始化的变量。这会导致未定义的行为。也许你的意思是:

int masivs[15]; 

您也应该检查n1n2是在正确的范围内使用它们作为数组索引前。

+0

谢谢,这工作! :) – Erchy 2014-10-02 18:54:30