ページ 1 / 1
エラーの原因を教えていただきたい
Posted: 2020年11月04日(水) 11:03
by noa
#include<stdio.h>
int kbinp(void)
{
int n;
printf("数値を入れてください");
scanf("%d",&n);
return n ;
}
int sigma(int x,int y,int *total_1,int *total_2)
{
int i,j;
for(i=0;i<=x;i++)
*total_1=*total_1+i;
for(j=0;j<=y;j++)
*total_2=*total_2+j*j;
}
{
int x,y,total_1=0,total_2=0;
x=kbinp();
y=kbinp();
sigma(x,y,*total_1,*total_2);
printf("1からxまでの総和は%d 1からyまでの2乗和は%d\n",total_1,total_2);
return 0;
}
Re: エラーの原因を教えていただきたい
Posted: 2020年11月04日(水) 14:08
by undefined_defined
1.main関数が定義されていません。
2.total_2,total_1をアドレス値を渡すときは、*ではなく&演算子を用いてください。
3.sigma関数の返り値が定義されてません。適当にreturn 0としてあげると良いと思います。
コード:
#include<stdio.h>
int kbinp(void)
{
int n;
printf("数値を入れてください");
scanf("%d",&n);
return n ;
}
int sigma(int x,int y,int *total_1,int *total_2)
{
int i,j;
for(i=0;i<=x;i++)
*total_1=*total_1+i;
for(j=0;j<=y;j++)
*total_2=*total_2+j*j;
return 0;
}
int main(){
int x,y,total_1=0,total_2=0;
x=kbinp();
y=kbinp();
sigma(x,y,&total_1,&total_2);
printf("1からxまでの総和は%d 1からyまでの2乗和は%d\n",total_1,total_2);
return 0;
}
Re: エラーの原因を教えていただきたい
Posted: 2020年11月05日(木) 02:37
by box
エラーの原因を教えていただきたい
そうであるならば、
・何をしたときに
・どんなエラーが出るか
明記してください。
sigma()の戻り値はvoidで十分でしょう。呼び出し元で使っていませんから。
Re: エラーの原因を教えていただきたい
Posted: 2020年11月05日(木) 05:38
by あたっしゅ
コード:
// .cpp
#include<stdio.h>
int kbinp(void)
{
int n;
printf("数値を入れてください");
scanf("%d",&n);
return n ;
}
int sigma( int x )
{
int total=0;
for( int i=0;i<=x;i++) {
total=total+i;
}
return total;
}
int main(){
int total_1=sigma( kbinp() );
int total_2=sigma( kbinp() );
printf("1からxまでの総和は%d 1からyまでの2乗和は%d\n",total_1,total_2);
return 0;
}
// end.
https://www.onlinegdb.com/ で確認。