ASCII/计数打印C程序?
我试图制作一个程序,从标准输入读取字符,直到读取EOF(文件结束标记) 在这个功能之后,我有:ASCII/计数打印C程序?,c,C,我试图制作一个程序,从标准输入读取字符,直到读取EOF(文件结束标记) 在这个功能之后,我有: #include <stdio.h> int main(int agc, char *agv[]) { int x; int count = 0; while ((x = getchar()) != EOF){ count++; #包括 int main(int agc,字符*agv[]){ int x; 整数计数=0; 而((x=getchar())!=EO
#include <stdio.h>
int main(int agc, char *agv[]) {
int x;
int count = 0;
while ((x = getchar()) != EOF){
count++;
#包括
int main(int agc,字符*agv[]){
int x;
整数计数=0;
而((x=getchar())!=EOF){
计数++;
在main()
中,标记的行是函数声明,而不是函数调用。您可能需要将它们替换为函数调用
int main(int argc, char *argv[]) {
int x;
int count = 0;
while ((x = getchar()) != EOF){
count++;
}
prHeader(FILE *out); // Declaration
prCountStr(FILE *out, int code, char *str, int count); // Declaration
prCountChr(FILE *out, int code, char chr, int count); // Declaration
prTotal(FILE *out, int count); // Declaration
return 0;
}
您还需要有一个256个整数的数组(计数器
,为了参数起见),所有这些整数都初始化为零,循环将增加与刚刚读取的字符对应的计数器
中的条目。幸运的是,getchar()
为每个可能的输入字符返回一个正值
在C中,您不应该在头中定义函数;在您的情况下,您不应该在头中定义函数。声明应该在那里,但定义不应该在那里。您应该有另一个源文件,大概是定义函数的common.C
。然后您需要编译文件conta和在调用main()
函数和common.c
时,您需要链接两个目标文件来创建程序。(短期内,您可以通过将函数保留在头文件中并简单地编译定义main()
函数的代码来避免这种情况,但这会破坏头文件的点。)大多数变量定义应该在common.c
中,而不是在common.h
中
你还有其他工作要做,BAD文件和相关宏还没有被使用。看起来你可能需要解析命令行选项。
诚实地“蓝”,这是粗鲁的。我可能不符合这里任何人的标准,但我试图通过Ctoto CS的课程,而不必浪费金钱和学分,所以上课。我需要额外的帮助,我有一本介绍书,在没有讲师的情况下完成这本书有点困难。谢谢你的帮助。我推荐youtube视频。这里有很多很好的编程教程视频。通常这里的问题都很具体,所以你的帖子有点离题了……它通过删除而重复了这个问题考虑到对问题的评论和回答,这是粗鲁的。