扬声器1:所以我觉得我倾向于 写的printf的hello world或printf 你好%的经常S IN背景 在这里我想打印出 字符串,有时会要求 该字符串的用户部分。 那么,如果我们创建了岂不是很好 我们自己的函数调用, 说,打印的名字,其目的在生活中 是简单地打印打招呼逗号 所谓的某某通过接受所谓的某某 作为参数传递给该函数? 我们可以宣布我们自己的函数 正如我们可以在刮如下。 换句话说,假设我想 printf的你的名字,然后问用户 他或她的名字用绳子 s等于GetString的。 然后我想调用一个函数 所谓打印名称 传递一个S作为它的输入。 现在不幸的是,没有任何功能 在C或称为打印名称 在CS50库。 不过没关系,因为我们 可以把它自己。 要声明自己的函数, 然后实现它,我们可以简单地使 一些房间在这个文件中,并宣布 这个函数如下,无效 - 这意味着该函数不是 究竟要返回的东西, 即使将具有 副作用 - 填上姓名,然后让我们在指定 括号的打印名字的期待 字符串类型的参数。 而在一般情况下,我们会考虑 的,作为一个名称。 让我们打开我们的梅开二度 并关闭了支撑。 然后里面的printf逗号打招呼 %的新线逗号名字。 换句话说,即使这 函数只有一行代码,它 确实现在有一些更高 级别宗旨,以打印 某人的名字与问候。 现在的主要内,请注意我 通过传递一个s调用print名字。 所以,我现在似乎有 一个完整的程序。 唯一的区别从其他被 我们写的是,不仅不 这个程序有主,它也有一个 声明和实现的 打印名字,我自己的函数。 现在,让我们用make编译我的程序 函数为零,并用点运行它 斜线函数为零。 当提示输入我的名字 我会输入大卫。 我的确很打招呼 与“你好,先生。” 现在,事实证明,我很刻意 上述主宣打印名称, 从而告诉下在事前有 存在一个所谓的打印功能 名字,这样我可以使用 后来在主。 现在,我已经不是把名字印在 我的文件的底部,因为坦白说,我 也许应该这样做的主要遗骸 第一件事,我还是 另一个用户可以看到在我的代码, 事实证明,我的代码是 不会编译。 特别是,如果我回到我的 终端窗口并运行make功能 零现在,请注意,我大声呵斥。 如果我在终端窗口中向上滚动, 我会看到这第一个错误红色, 的隐式声明 函数打印的名称。 现在,这是什么意思? 好吧,即使我已经实现 在这个文件中填上姓名,我已经不 实现它之前,我已经 在主要用它。 现在,我们可以回到旧 版本,并把打印的名 实施往上顶。 但我可以不是只给℃的提示 ,有一个函数来。 具体来说,上述主我可以声明 填上姓名正如我刚才做了,但是 以分号结束行,从而 有为实现但尚未 实际执行的功能 称为打印名字。 然后我就可以有主在顶部我 文件,因为我希望,而我实际上可以 实现打印名称在底部。 如果我现在回到我的终端窗口 并重新编译函数零点与化妆, 这一次它编译。 如果我用点斜线功能运行 零输入我的名字,我 为迎接“你好,先生。”