我有一个大问题。 这是我创建的头文件,它有一个小终端菜单。 问题是,在函数“menu”(意大利语名称)中,当我编译它时,我收到一条警告: “[警告]内置函数‘printf’的隐式声明不兼容[默认启用]” 然后如果我运行它它就会崩溃。
#ifndef HEADER
#define HEADER
int numeroOpz = 0;
int selezON = 0;
int tasto;
struct Opzione{
char *testo;
int selez;
};
struct Opzione *opz;
void nuovaOpzione(char *testoOpz){
strcpy(opz[numeroOpz].testo, testoOpz); //Il testo dell'opzione viene copiato
opz[numeroOpz].selez = 0; //Nessuna opzione viene inizialmente selezionata
numeroOpz++;
}
void menu(){
opz[0].selez = 1;
while(tasto != 13){
int i;
for(i=0;i < numeroOpz;i++){
if(opz[i].selez == 1){
printf("||%s||\n", opz[i].testo);
}
else if(opz[i].selez == 0){
printf("%s\n", opz[i].testo);
}
tasto = getch();
switch (tasto){
case 72: //SU
if(selezON > 0){
opz[selezON].selez = 0;
opz[selezON-1].selez = 1;
selezON--;
}
else{
opz[selezON].selez = 0;
opz[numeroOpz-1].selez = 1;
}
break;
case 80: //GIU
if(selezON < numeroOpz){
opz[selezON].selez = 0;
opz[selezON+1].selez = 1;
selezON++;
}
else{
opz[selezON].selez = 0;
opz[0].selez = 1;
}
break;
default:
printf("Error\n\n\n\n");
break;
}
}
}
}
#endif
这是源文件:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "Opzioni.h"
int main(){
nuovaOpzione("Ciao");
nuovaOpzione("Bellaaa");
nuovaOpzione("Hey");
menu();
getch();
return 0;
}
我简直要疯了,是的,我在其他问题上寻找了很多帮助...... 如果您愿意的话,谢谢您的帮助! :P
顺便说一句:“nuovaOpzione”中的 strcpy 函数也是一个警告,但是 yolo...
最佳答案
您忘记了包括:
#include <stdio.h>
关于c - 内置函数 'printf"的不兼容隐式声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20506092/