C语言中的结构问题
任务:创建工作人员数据库。该程序还应通过以下方式输出工作人员信息: 列出并计算所有工人的平均工资。当我试图编译这段代码时C语言中的结构问题,c,gcc,C,Gcc,任务:创建工作人员数据库。该程序还应通过以下方式输出工作人员信息: 列出并计算所有工人的平均工资。当我试图编译这段代码时 #include <stdio.h> #include <stdlib.h> #include <string.h> struct worker { char name[10]; int salary; }; int main (void); struct worker p1 = {"koko", 3400};
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct worker {
char name[10];
int salary;
};
int main (void);
struct worker p1 = {"koko", 3400};
printf ("name=%s,salary=%d,p1,name,p1,salary");
return(0);
}
如果能够解决此问题,我将不胜感激。您在定义main()时出现语法错误。它需要一个大括号,而不是分号。删除
代码>从下一行的末尾int main(void)编码>并插入一个{
。将int main(void);
更改为:
int main (void) {
您可以使用intmain(void);
声明原型,但必须打开括号才能开始函数的实际内容。结合其他人的提示:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct worker {
char name[10];
int salary;
};
int main(int argc, const char *argv[])
{
struct worker p1 = {"koko", 3400};
printf ("name=%s,salary=%d\n",p1.name,p1.salary);
return 0;
}
#包括
#包括
#包括
结构工人{
字符名[10];
国际工资;
};
int main(int argc,const char*argv[]
{
结构工人p1={“koko”,3400};
printf(“名称=%s,薪资=%d\n”,p1.name,p1.salary);
返回0;
}
注意如何
p1.姓名
和p1.工资
引用p1
中的字段(类型为工人
)
main
的声明已修复
你做了很多错事
因为这是家庭作业,你应该学习一些东西,所以试着做以下事情:
- 从一个程序开始,该程序只是包含文件的骨架和一个空的main函数。这样做会表明您编写的
int main(void);
错误。它应该是int main(){
- 从一个printf函数调用开始,该函数调用只输出一个您键入的数字。这应该表明
printf
参数是错误的。为什么您认为变量应该在字符串双引号内?而且,一旦参数位于正确的位置,为什么您认为printf具有两个转换(%s和%d)是否可以使用四个参数
总而言之:当你的新代码出现语法错误时,备份并撤消你的更改,直到你有了可以编译的代码。然后写一些新的小代码,这样你就可以准确地看到哪里出了问题
另外,我建议使用最大级别的警告选项进行编译。这可能会告诉您printf语句是错误的。我相信这是Microsoft Visual Studio在调试模式下的默认值。对于Linux或BSD上的GCC,您可以将
-Wall-W
添加到GCC命令中。如果我错了,请原谅,但看起来像是一个错误源我通常参加考试。
放错的分号不是程序中唯一的错误
如果我错了,请随时纠正。格式化代码很好。代码不仅仅是供计算机阅读的
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct worker {
char name[10];
int salary;
};
int main(int argc, const char *argv[])
{
struct worker p1 = {"koko", 3400};
printf ("name=%s,salary=%d\n",p1.name,p1.salary);
return 0;
}