то, что я пытаюсь сделать, это увидеть, является ли год биссектилем или нет, , но когда я использую логическую функцию, это дает мне это странное сообщение.Булевая функция в C
вот мой код:
#include<stdio.h>
#include<stdbool.h>
main(){
int n1;
printf("what is the year?\n");
scanf("%d",&n1);
if(itIS(n1)){
printf("the year %d is bissextile\n",n1);
}else{
printf("the year %d is not bissextile\n",n1);
}
}
bool itIS(int n1){
bool is = false;
if((n1/400)== 0){
is = true;
}
return is;
}
и это вещь, которая мне кажется:
exe1.c:144:6: error: conflicting types for ‘itIS’ bool itIS(int n1){
^
exe1.c:134:6: note: previous implicit declaration of ‘itIS’ was here if(itIS(n1)==true){
^
Я не понимаю, в чем проблема. Хотя, если я делаю это без логической функции, он работает отлично.
Редактировать: Так что я уже знаю, в чем проблема благодаря @Bill Lynch. Проблема в том, что мне нужно написать логическую функцию перед основной функцией, поэтому компилятор видит функцию, в основном это она.
главная функция записывается как 'Int основной (пустоте)' или «Int основных (INT ARGC, символ ** ARGV). включите все предупреждения при компиляции, тогда ваш компилятор расскажет вам об этой проблеме (и о недостающем возвращаемом значении; в конце основного() – user3629249
код отсутствует, перед main() прототипом функции: 'bool itIS (int); ' – user3629249
@ user3629249, даже при добавлении' int main (void) 'он дает такое же предупреждение: S – bluewolfxD