我试图使用int函数计算表中元素的总和。这是我的代码
#include <iostream>
#include <cstdlib>
#include <ctime>
void wylosujLiczby ( int tablica[], int iRozmiar, int pocz, int kon )
{
int i = 0;
do
{
srand( time ( NULL ) );
tablica [ i ] = ( ( std::rand() % ( kon - pocz ) ) + pocz );
i++;
} while ( i < iRozmiar );
}
void wypiszLiczby ( int tablica[], int iRozmiar )
{
int i = 0;
do
{
std::cout << "Liczba nr " << i << ": " << tablica [ i ] << std::endl;
i++;
} while ( i < iRozmiar );
}
int obliczSume ( int tablica[], int iRozmiar )
{
int i, suma = 0;
do
{
suma += tablica[ i ];
i++;
} while ( i < iRozmiar );
return suma;
}
int main()
{
int tablica[ 999 ];
wylosujLiczby( tablica, 999, 4, 10 );
wypiszLiczby( tablica, 999 );
int iSuma = obliczSume( tablica, 999 );
std::cout << "Suma liczb wynosi: " << iSuma << std::endl;
std::cout << tablica[ 991 ];
return 0;
}
使用Codeblocks,它可以正确编译,但是在打印完所有值后应用程序崩溃。我犯了什么错误?
答案 0 :(得分:1)
问题在于:
int i, suma = 0;
您还需要设置i = 0:
int i = 0, suma = 0;