0
我正在尝试使程序从标准输入读取字符,直到读取EOF(文件结束标记)。ASCII /计数打印C程序?
而且该功能后,我有:
#include <stdio.h>
int main(int agc, char *agv[]) {
int x;
int count = 0;
while ((x = getchar()) != EOF){
count++;
我正在尝试使程序从标准输入读取字符,直到读取EOF(文件结束标记)。ASCII /计数打印C程序?
而且该功能后,我有:
#include <stdio.h>
int main(int agc, char *agv[]) {
int x;
int count = 0;
while ((x = getchar()) != EOF){
count++;
在你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;
}
你也将需要有一个数组(counters
,因为参数的缘故)的256个整数,全部初始化为0,你的循环将递增counters
对应刚才读的字符的条目。幸运的是,getchar()
为每个可能的输入字符返回一个正值。
在C中,你应该很少在头文件中定义一个函数;在你的情况下,你不应该在头文件中定义函数。声明应该在那里,但定义不应该在那里。你应该有另一个源文件,大概common.c
,它定义的功能。然后,您需要编译包含main()
函数和common.c
的文件,并且您需要链接两个目标文件以创建该程序。 (在短期内,您可以通过在头文件中保留函数并简单地编译定义main()
函数的代码来避免这种情况,但这是颠覆头文件的一部分。)大多数变量定义应该在common.c
也不在common.h
。
你还有其他工作要做; BADFILE和相关的宏还没有被使用。它也似乎你可能需要解析命令行选项。
老实说@BLUEPIXY,这很粗鲁。我可能不会与这里的任何人相提并论,但我正努力通过CS的介绍课程,而不必浪费金钱和学分,参加课程,因此我需要额外的帮助,我有一本介绍书,并且无需通过它讲师有点困难。所以谢谢你缺乏帮助。 –
我会推荐youtube视频。有很多很好的编程教程视频。通常这里的问题是非常具体的,所以你的文章是有点在那里... – thang
这是重复删除的问题,而不考虑评论和答案,这是粗鲁的问题。 – BLUEPIXY