【问题标题】:when i compile it give me this error can anyone help me?当我编译它给我这个错误任何人都可以帮助我吗?
【发布时间】: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) 并删除 3 int
  • JELO,也不要比较返回 booltrue 的函数。只需使用if ( Valid_Time (/* fixed code here */))。没有`== true`。

标签: c


【解决方案1】:

函数调用在您的使用中具有类型参数。使用函数时删除类型说明。

尝试这个

Valid_Time (h,min,sec) == true

【讨论】:

  • 或者只是 Valid_Time(h,min,sec) 而没有 == t
  • 的确。我的意思是说是真的,因为我想显示用法行。让我编辑以添加真实的内容。
  • chux 的观点是最好离开== true 部分。
猜你喜欢
  • 2018-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-03
  • 1970-01-01
  • 2013-02-28
  • 1970-01-01
  • 2015-03-15
相关资源
最近更新 更多