c - 具有 NULL 条件的 for 循环,为什么 printf();执行?

标签 c for-loop null

<分区>

‎#include<stdio.h>

int main()
{
  for(;NULL;)
    printf("STACK");

  return 0;
}

输出:堆栈 我知道 NULL 的 ascii 值为 0,它是假的,但是当我在 turbo c 上运行时,这个程序给出输出“STACK”,这是怎么可能的。

最佳答案

“STACK”从不输出。这是因为 for 语句的条件部分始终为假(假设 NULL#defined as (void *)0

关于c - 具有 NULL 条件的 for 循环,为什么 printf();执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10965221/

相关文章:

c - 为什么 "+="在 SSE 内在函数中给了我意想不到的结果

r - 与 R 并行置换矩阵列

php - 在 php foreach 中增加一个值?

Java 构造函数样式 : check parameters aren't null

C# 可以将值类型与 null 进行比较

c++ - CUDA gridDim、blockDim 总是用户定义的吗?

c - 如果接受 key 请求,libssh2 公钥身份验证仅需要密码

javascript - 理解 Javascript 中的 for 循环

java - 我的java程序似乎跳过了try{},执行catch{},然后抛出NullPointerException。我应该怎么办?

c - 使用else宏 “expected parameter declarator”时发生C错误