相关疑难解决方法(0)

省略前瞻性声明(原型)

我在第14课就着名的" 学习C艰难之路 "在线课程.

在该课程中,它介绍了前向声明的概念C.代码示例中有两个前向声明.其中一个可以被注释掉,代码仍然编译,但另一个不能被注释掉.对我来说,他们看起来同样重要.

这是代码.它只是打印出所有字符及其十六进制代码(如果它们来自字母表),否则它会跳过它们.

两个编译器输出位于代码的底部.有人可以解释为什么一个错误出来而另一个错误?

#include <stdio.h>
#include <ctype.h>

// forward declarations
int can_print_it(char ch);       //NOT OK to skip(??)
void print_letters(char arg[]);  //OK to skip(??)

void print_arguments(int argc, char *argv[])
{
    int i = 0;

    for(i = 0; i < argc; i++) {
        print_letters(argv[i]);
    }
}

void print_letters(char arg[])
{
    int i = 0;

    for(i = 0; arg[i] != '\0'; i++) {
        char ch = arg[i];

        if(can_print_it(ch)) {
            printf("'%c' == %d ", ch, ch);
        }
    }

    printf("\n"); …
Run Code Online (Sandbox Code Playgroud)

c function

17
推荐指数
2
解决办法
687
查看次数

标签 统计

c ×1

function ×1