Variables 变量可能尚未初始化,但应该是因为if-else-if 以下是交易: compteur=compteur+1; 如果(compteur==1){ petiteComm=commTotal; grandeComm=commTotal; }否则{ if(总通信量GrandComm){ grandeComm=commTotal; } }

Variables 变量可能尚未初始化,但应该是因为if-else-if 以下是交易: compteur=compteur+1; 如果(compteur==1){ petiteComm=commTotal; grandeComm=commTotal; }否则{ if(总通信量GrandComm){ grandeComm=commTotal; } },variables,Variables,它说petiteComm可能没有被初始化,但这将是因为第一个if,因为Computer将在第一次1。我不知道该怎么做才能解决这个问题。你为什么不在if之前写一个petiteComm=0呢。 这应该会有所帮助。很难知道您使用的是哪种语言,但无论如何,听起来您高估了编译器 正如其他人提到的,您需要给它一个初始值。你可以这样做,但是看看你给我们的语法 here is the deal : compteur = compteur + 1; if ( compteur == 1 ) { peti

它说petiteComm可能没有被初始化,但这将是因为第一个if,因为Computer将在第一次1。我不知道该怎么做才能解决这个问题。

你为什么不在if之前写一个petiteComm=0呢。
这应该会有所帮助。

很难知道您使用的是哪种语言,但无论如何,听起来您高估了编译器

正如其他人提到的,您需要给它一个初始值。你可以这样做,但是看看你给我们的语法

here is the deal :

compteur = compteur + 1;
if ( compteur == 1 ) {
    petiteComm = commTotal;
    grandeComm = commTotal;
} else {
    if ( commTotal < petiteComm ) {
        petiteComm = commTotal; 
    }
    if ( commTotal > grandeComm ) {
         grandeComm = commTotal;
    }
}
应该有用。我可能会尝试将其设置为
null
-1
,但在不了解更多情况的情况下,我不想对其进行任何假设

一般来说,编译器不会寻找第二层后果。也就是说,他们会告诉你,如果一个变量从来没有被赋予一个值,正如你在这里看到的,但是他们没有足够的“聪明”来推断他们是否会被赋予一个值

考虑下面的代码块,它说明了与您看到的相同的错误,但更简洁一些:

petiteComm = 0;
x
将始终为零,因此
if
块将始终执行,但(包括您的)编译器将无法检测到这一点。他们只会看到一个未初始化的
y
变量不知从何处被使用。简单的解决方案是使用默认值初始化
y
。或者,您可以在
else
块中抛出异常,以指示发生了意外情况,或者操作顺序不正确。根据语言的不同,该异常也应被视为一条退出路线,从而避免您看到的任何检查


这只是环境的问题。

给它一个有效的初始值。语言是什么?
x = 0

if(x == 0) {
    y = 10;
}

print(y);