c - 这个C程序有什么问题

标签 c for-loop

<分区>

Possible Duplicate:
Help with C puzzle

该程序的目的是打印一个减号 20 次,但它不起作用。

  #include <stdio.h>
  int main()
  {
      int i;
      int n = 20;
      for( i = 0; i < n; i-- )
          printf("-");
      return 0;
  }

最佳答案

这是一个经典的谜题!

我是这样看的

“您只能在代码中更改/插入/删除一个字符以使 - 打印 20 次”。

一些答案​​是(如果我没记错的话)

1)

 #include <stdio.h> 
  int main() 
  { 
      int i; 
      int n = 20; 
      for( i = 0; -i < n; i-- ) 
          printf("-"); 
      return 0; 
  }

在这里你改变了i < n-i < n

2)

 #include <stdio.h> 
  int main() 
  { 
      int i; 
      int n = 20; 
      for( i = 0; i < n; n-- ) 
          printf("-"); 
      return 0; 
  }

在这里你改变了i--n--

3)

 #include <stdio.h> 
  int main() 
  { 
      int i; 
      int n = 20; 
      for( i = 0; i + n; i-- ) 
          printf("-"); 
      return 0; 
  }

你改变了i < ni+n .

作为一项挑战,尝试更改/插入/删除一个字符以使其打印 - 21 次。 (如果您想尝试,请不要阅读对此答案的评论!)

关于c - 这个C程序有什么问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3461605/

相关文章:

c - 为什么会出现段错误?有人可以解释 valgrind 错误吗?

c - CPU 调度的大时间量与小量?

C: long long 总是 64 位?

Rvest 循环在重定向网站上中断

出现最少的角色

c - 如何使输入值(来自 print,scan 语句)成为循环生成的 vector 的第一个值?

java - for循环跳过问题

java - 查找数组中两个连续元素之间的最大差异时出现 ArrayIndexOutOfBoundsException

c - growl 通知 C

c - 我如何在 GTK 中从 Glade 获取文本输入?