我坚持使用这段代码 我将此头文件(header.h)保存在我保存main.c的同一文件夹中
struct user{
int userID;
char firstName[30];
char surName[30];
};
这是header.h
所属的main.c文件。
#include <stdio.h>
#include <header.h>
int main()
{
struct user Richard;
struct user Kelvin;
struct user Ann;
Richard.userID = 1;
Kelvin.userID = 2;
Ann.userID = 3;
puts("Enter the first name of user 1");
gets(Richard.firstname);
puts("Enter the Surname of user 1");
gets(Richard.surname);
puts("\n\nEnter the first name of user 2");
gets(Kelvin.firstname);
puts("Enter the Surname of user 2");
gets(Kelvin.surname);
puts("\n\nEnter the first name of user 3");
gets(Ann.firstname);
puts("Enter the Surname of user 3");
gets(Ann.surname);
printf("\n\n user 1 ID is %d \n", Richard.userID);
printf("user 1 full name is %s %s. \n\n", Richard.firstname,Richard.surname);
printf("user 2 ID is %d \n", Kelvin.userID);
printf("user 2 full name is %s %s. \n\n", Kelvin.firstname,Kelvin.surname);
printf("user 3 ID is %d \n", Ann.userID);
printf("user 3 full name is %s %s. \n", Ann.firstname,Ann.surname);
return 0;
}
我使用CodeBlocks。此代码无法运行。运行此代码时,构建日志显示为fatal error: header.h: No such file or directory
#include <header.h>
我无法找到此代码的错误。
答案 0 :(得分:2)
在main.c代码中,
将#include <header.h>
替换为#include "header.h"
在header.c
代码中,
将surName替换为姓氏
将firstName替换为firstname
答案 1 :(得分:1)
请勿使用#include<header.h>
使用#include "header.h"
答案 2 :(得分:1)
有几个人注意到,你应该使用这种语法:
#include "header.h"
如果在#include
语法中使用尖括号,编译器会在系统目录中查找您的文件。
如果使用引号,编译器会首先在c文件所在的同一目录中查找该文件,并且只有在找不到该文件时,它才会在系统目录中查找。
您应该始终对自己编写的文件使用引号。保留标准库(和可能其他库)的尖括号。