【发布时间】:2022-11-23 01:39:18
【问题描述】:
这是用c写的代码
#include <stdio.h>
#include "simpio.h"
#include "genlib.h"
#include <stdbool.h>
bool Valid_Time(int h,int min,int sec);
int main()
{
int h,min,sec;
printf("Dwse tis ores: ");
h=GetInteger();
printf("Dwse ta lepta: ");
min=GetInteger();
printf("Dwse ta defterolepta: ");
sec=GetInteger();
if ( Valid_Time (int h,int min,int sec) == true)
{
printf("Valid: yes");
}
else
{
printf("Valid: no");
}
return 0;
}
bool Valid_Time(int h,int min,int sec)
{
bool valid;
valid=true;
if(h<0 || h>23)
{
valid=false;
}
if(min<0 || min>59)
{
valid=false;
}
if(sec<0 || sec>59)
{
valid=false;
}
return valid;
}
错误:“int”之前的预期表达式 错误:函数“Valid_Date”的参数太少
我不明白为什么会出现错误
为什么会弹出这个错误
【问题讨论】:
-
if ( Valid_Time (int h,int min,int sec) == true)谁教你这么调用函数的?那些额外的int关键字在那里做什么? -
在 if 语句中,
Valid_Time (int h,int min,int sec)不是函数调用的正确语法。您不应该在那里指定类型。请尝试找到该行和edit你的帖子,并找到你得到的任何进一步的编译错误。 -
C 不是一种可以通过反复试验来学习的语言。
-
JELO,查看函数调用
printf("Dwse tis ores: ")和GetInteger()。你看到任何类型那里的名字?调用Valid_Time (int h,int min,int sec)并删除 3int。 -
JELO,也不要比较返回
bool和true的函数。只需使用if ( Valid_Time (/* fixed code here */))。没有`== true`。
标签: c