冰清玉洁丸 发表于 2020-5-23 12:58:58

动态数组能编译成功但运行不了

今天看了小甲鱼的“啪啪啪”
动态数组
讲的是小甲鱼被打脸的故事
-------------------------------进入正题---------------------------------------
我试了一下动态数组,代码和小甲鱼的一模一样,只是格式有点变化
我能编译成功
但是运行不了
#include <stdio.h>

int main()
{
      int n,i;
      
      printf("请输入字符的个数:");
      scanf("%d",&n);
      
      char a;
      
      printf("请开始输入字符:");
      getchar();
      for (i = 0;1 < n;i++)
      {
                scanf("%c",&a);
      }
      
      a = '\0';
      printf("你输入的字符串是:%s\n",a);
      
      return 0;
}
运行之后是这个界面:
请输入字符的个数:3
请开始输入字符:ABC
然后就没有任何反应
{:10_266:}
所以是怎么回事呢?

howzyao 发表于 2020-5-24 06:12:19

   getchar();
      for (i = 0;1 < n;i++) //条件是无限循环?

冰清玉洁丸 发表于 2020-5-24 08:22:04

howzyao 发表于 2020-5-24 06:12
getchar();
      for (i = 0;1 < n;i++) //条件是无限循环?

不对啊
如果想要这个for循环是无限循环的话
就得要让n无限增加
但是n已经被赋值为字符个数了
所以不是无线循环
那怎么办呢{:10_266:}

Mondayisgood 发表于 2020-5-24 12:55:39

有点无语
代码敲错了
字母 i 写成了数字 1
能不能先调试一下下

小猪鼠 发表于 2020-5-24 16:49:34

冰清玉洁丸 发表于 2020-5-24 08:22
不对啊
如果想要这个for循环是无限循环的话
就得要让n无限增加


你这个for(i=0;1<n;i++)改成for(i=0;i<n;i++)就好了,你的条件是1<n,只要n>1就是一个死循环。是不是手误敲错了。。。

冰清玉洁丸 发表于 2020-5-24 17:05:33

小猪鼠 发表于 2020-5-24 16:49
你这个for(i=0;1

我敲错了……
谢谢指出
页: [1]
查看完整版本: 动态数组能编译成功但运行不了