gpt4 book ai didi

c - ASCII/计数打印C程序?

转载 作者:行者123 更新时间:2023-11-30 17:39:16 25 4
gpt4 key购买 nike

我正在尝试编写一个程序,该程序将从标准输入读取字符,直到读取 EOF(文件结束标记)为止。

在该功能之后我有:

#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;
}

您还需要一个包含 256 个整数的数组(counters,为了便于论证),全部初始化为零,并且您的循环将增加 counters< 中的条目 对应刚刚读取的字符。幸运的是,getchar() 为每个可能的输入字符返回一个正值。

在 C 语言中,你应该很少在头文件中定义函数;在您的情况下,您不应该在 header 中定义函数。声明应该在那里,但定义不应该在那里。您应该有另一个源文件,大概是 common.c,它定义了函数。然后,您需要编译包含 main() 函数的文件和 common.c,并且需要链接这两个目标文件来创建程序。 (短期内,您可以通过将函数保留在 header 中并简单地编译定义 main() 函数的代码来避免这种情况,但这破坏了头文件的要点。)大多数变量定义应该位于 common.c 中,而不是位于 common.h 中。

你还有其他工作要做; BADFILE 和相关宏尚未使用。您似乎还需要解析命令行选项。

关于c - ASCII/计数打印C程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21868516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com