解決していないのに、間違って解決済みにしてしまったので、もう一度質問させていただきます。
C言語初学者です。時間、分、秒を入力として、秒に換算し、換算結果を出力とする関数を作成せよ。入力の分と秒は共に0~60とはさそれ以外が入力された場合はエラーとして戻り値を-1で返す。正常終了の場合は戻り値を0とする。この関数を確認するためのmain関数も作成すること。。(scanfで読み込んで確認)
必ずポインタを使用
全く分からず、参考書を見ようみまねで下のように書きました。もちろん間違っています。ご指摘お願いします。
include <stdio.h>
define OK 0
define NG 1
int func(int h,int m,int s)
int main(void)
{
int a,b,c,d;
a=0;
printf("time,minute,second");
scanf("%d,%d,%d",b,c,d);
if func(b,c,d)==0
printf("%d秒\n",*byo);
else printf("error");
return 0;
}
int func(int h,int m,int s )
{
int byo
if(m>=0&&m<=60&&s>0&&s<=60){
return OK;
byo=h3600+m60+s;
}
else{ return NG;}
}
見よう見まねで書いたので、
define OK 0
define NG 1
がどういうことなのかわかりません。
また、関数の返値は今まで習ったのだと、
int func(int x,inty)
{
int z;
z=x+y;
return(z);}
と、zが返値なのに対して、今回は0や-1で返すというのがわからないです。
この質問に関してご返答をいただき、まだわからないので、質問させていただきます。【】内はご指摘内容
【NGのデファイン値が違ってます】…-1にせよ、ということでしょうか。もしそうならやはり
「関数の返値は今まで習ったのだと、
int func(int x,inty)
{
int z;
z=x+y;
return(z);}
と、zが返値なのに対して、今回は0や-1で返すというのがわからないです。
【return文を実行したところで、関数の処理は抜けてしまいますので…(まずはここは直しましょう)。 】
なぜ抜けてしまうのですか。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/12/16 07:20