初始化变量

Ale*_*dre 3 c c++ variables

声明和初始化变量或仅声明变量是否更好?什么是最好和最有效的方式?

例如,我有这个代码:

#include <stdio.h>

int main()
{
    int number = 0;

    printf("Enter with a number: ");
    scanf("%d", &number);

    if(number < 0)
        number= -number;

    printf("The modulo is: %d\n", number);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

如果我没有初始化number,代码工作正常,但我想知道,它更快,更好,更有效吗?初始化变量是否合适?

Ste*_*sop 10

scanf可能会失败,在这种情况下没有任何内容写入number.因此,如果您希望代码正确,则需要对其进行初始化(或检查返回值scanf).

错误代码的速度通常是无关紧要的,但对于你的示例代码,如果速度有差异,那么我怀疑你是否能够测量它.将a设置int为0比I/O快得多.