3

我相信这是一个分配的值,并且无法更改。一个例子是:

int limit =5;
    for(int i =0 ; i<limit; i++){
        printf("w");

还有什么是我不应该使用硬编码的原因?对不起,我是编程新手。

4

4 回答 4

6

“硬编码”是指您想要嵌入到您的程序或任何项目中的东西 - 不能直接更改(例如,直接使用值而不是使用变量或常量)。例如,如果您不是硬编码,那么您可以执行诸如提示用户输入数据或允许用户将数据放在命令行上的操作。

因此,在您提供的示例中,您可以说打印"w"是“硬编码”的。此外,正如@Ingo Leonhardt 指出的那样,limit也被“硬编码”为5.

这是另一个例子:

假设我们想将我们正在处理的文件的位置硬编码为在 C: 驱动器上,您只需将文件的路径名放在源代码中即可:

int main()
{
    const char *filename = "C:\\myfile.txt";

    printf("Filename is: %s\n", filename);
}

文件名“硬编码”为:C:\myfile.txt

于 2020-03-04T17:48:42.727 回答
2

我相信这是一个分配的值,并且无法更改。

不,这叫做常量。硬编码意味着

硬编码(也称为硬编码或硬编码)是将数据直接嵌入到程序或其他可执行对象的源代码中的软件开发实践

维基百科

因此,源代码中定义了“硬编码值”,因此只能由程序员更改。在很多情况下,您实际上不希望这样。您宁愿希望用户或管理员可以更改该值。唯一应该“硬编码”的值是不应该改变的东西(例如物理常数)。

于 2020-03-04T18:05:50.260 回答
1

硬编码是直接使用值而不是创建变量或常量。因此,在您的示例中,"w"是硬编码的,但5不是。因此,阅读您的代码的人会知道为什么您的循环会迭代 5 次(即limit),但不知道为什么要打印"w"

于 2020-03-04T17:54:32.057 回答
0

硬编码是指有人直接将数据写入代码而不使用正确的方法来完成工作。

硬编码的一个例子是,如果我需要从数据库中返回一些数据,但我写的是:

return "(1,2,'up')"

有人对某些东西进行硬编码有几个原因,可能只是为了测试某些东西,因为写起来比实际功能快,因为现在是星期五 14:00,你想回家等等。

于 2020-03-04T17:51:18.120 回答