C 当您意外地运行无限循环时,会出现什么样的错误

C 当您意外地运行无限循环时,会出现什么样的错误,c,compiler-errors,syntax-error,runtime-error,typeerror,C,Compiler Errors,Syntax Error,Runtime Error,Typeerror,假设给定代码: int n; while (n<100){ n--;} intn; 当(n您没有得到错误时,您的应用程序只是将计数器减量一段时间,当计数器溢出时将继续运行。如果没有得到错误,您的应用程序只是将计数器减量一段时间,当计数器溢出时将继续运行。通常,如果存在无限循环,这是运行时错误还是逻辑错误? 同样,如果使用未初始化的变量,它是运行时错误还是编译错误?通常,如果存在无限循环,它是运行时错误还是逻辑错误? 同样,如果我使用未初始化的变量。它是运行时错误还是编译错误?n在该内存

假设给定代码:

int n;

while (n<100){ n--;}
intn;

当(n您没有得到错误时,您的应用程序只是将计数器减量一段时间,当计数器溢出时将继续运行。如果没有得到错误,您的应用程序只是将计数器减量一段时间,当计数器溢出时将继续运行。通常,如果存在无限循环,这是运行时错误还是逻辑错误?
同样,如果使用未初始化的变量,它是运行时错误还是编译错误?

通常,如果存在无限循环,它是运行时错误还是逻辑错误?
同样,如果我使用未初始化的变量。它是运行时错误还是编译错误?

n
在该内存位置中有任何发生的内容。可能编译器优化了你的循环。如果没有,循环不是无限的:如果
n
恰好是正的,它将小于100,循环停止。如果
n
>如果恰好为负值,它将达到系统上int的最低可能值,然后溢出并变为正值,最终低于100。
n
拥有该内存位置中发生的任何内容。可能编译器会优化掉您的循环。如果没有,则循环不是无限的:如果
n
恰好为正值,它将低于100,循环停止。如果
n
恰好为负值,它将达到系统上int的最低可能值,然后溢出并变为正值,最终低于100。