小甲鱼 发表于 2016-3-23 22:29:14

已有 25 人购买  本主题需向作者支付 5 鱼币 才能浏览 购买主题

泳爸 发表于 2016-5-29 11:00:15

这期视频PPT将C99的新特性时,好像有个数打错了,a={=};

snowcity 发表于 2016-8-29 12:08:41

泳爸 发表于 2016-5-29 11:00
这期视频PPT将C99的新特性时,好像有个数打错了,a={=};

呵呵,我也发现了。如果这样写编译会报错:error:expected expression before '[' toke
初始化可以混着来 int a = {1, 2, 3, = 4, = 6, 7, = 8}

mhp0114 发表于 2017-2-15 10:55:09

变长数组。。总感觉不靠谱

屁哥 发表于 2017-10-15 19:28:01

学到这了没整明白。。。

simplerjiang 发表于 2018-2-27 23:52:20

我试过了,小甲鱼老师在前面说过的那个不能实现的代码,好像是可以实现的,就是这篇文章最后c99新增的动态定义。是因为c99原因吗?@小甲鱼

猪爱喝咖啡 发表于 2019-6-21 18:52:11

泳爸 发表于 2016-5-29 11:00
这期视频PPT将C99的新特性时,好像有个数打错了,a={=};

小甲鱼疏忽了{:5_109:}

敌敌畏迪迪卫 发表于 2019-8-17 15:06:54

{:10_256:}{:10_256:}{:10_256:}后面就是指针了   我有一点方{:10_269:}{:10_269:}{:10_269:}

七星瞭望 发表于 2020-1-21 10:05:41

那个getchar那个地方有点不明白,为什么不是“你输入的字符为:”这个地方换行,而是你输入的东西换行了呢

1000小千哥 发表于 2020-2-10 14:37:53

七星瞭望 发表于 2020-1-21 10:05
那个getchar那个地方有点不明白,为什么不是“你输入的字符为:”这个地方换行,而是你输入的东西换行了呢
...

我也没懂,知道了教教我{:5_92:}

triven 发表于 2020-2-22 14:24:26

变长数组 这个VS居然不支持。

jsswdnmd 发表于 2020-3-16 18:31:11

5.变长数组
那个
我用vs怎么不行。。。
萌新提问

Draem 发表于 2020-3-18 17:59:06

#include<stdio.h>
int main()
{
        int n,i;
        printf("input the number of array[] ");
        scanf("%d",&n);
        printf("are you ready?");
        getchar();
        char array;
        for(i=0;i<n;i++)
        {
                scanf("%c",&array);
        }
        array = '\0';
        printf("the sentence of your input is: %s",array);
        return 0;
}

740839751 发表于 2020-3-31 19:40:55

triven 发表于 2020-2-22 14:24
变长数组 这个VS居然不支持。

我也是,后面指针的内容,也有几个在VS上不支持

萌笨笨萌 发表于 2020-4-25 21:57:47

{:10_257:}

肖-肖 发表于 2020-5-17 22:41:50

1.我想咨询下甲鱼老师跟广大的网友,为什么我手机的账号密码登录不进去,然后电脑上的确是畅通无阻。我多么想温故而知新,又不能每时每刻的看电脑好吧。望解答{:10_266:}
2.请开始输入字符后不打回车跟打回车的效果是一样的,那么getchar()在不打回车的情况下的作用是什么?{:10_281:}

赵嘉琦 发表于 2020-6-17 21:25:58

屁哥 发表于 2017-10-15 19:28
学到这了没整明白。。。

个性签名有错字兄弟

大甲鱼007 发表于 2020-7-25 10:31:07

1000小千哥 发表于 2020-2-10 14:37
我也没懂,知道了教教我

为啥输出的I love fishc.com在“你输入的字符串是”的下一行,而且‘!’也被吞掉了,等于是在数组字符开始输入的时候前面多输入了一个回车,把n+1中本来属于!的位置占据了,那么这个多余的换行符是哪里来的呢?“请输入字符的个数”输入完成后,敲了一个回车,%d的数字n被读取了,回车没有被读取,然后这个回车就一直保存在了标准输入流(输入缓冲区)里面,在后面的for循环中再次输入字符(%c)时,第一个输入的是回车,占据了最后的‘!’的位置,因此就在for循环之前把这个回车换行符给丢掉即可:使用getchar读取它但不返回数值,功能就是将标准输入流中剩下的 '\n' 扔掉。

qggncc 发表于 2020-8-14 04:39:29

本帖最后由 qggncc 于 2020-9-19 04:42 编辑

变长数组这里有个bug,导致输入流中的\n也被算在数组内。建议在scanf函数下添加getchar();
#include <stdio.h>

int main()
{
      int n, i;

      printf("请输入字符的个数:");
      scanf("%d", &n);

      char a;

      printf("请开始输入字符:");
      getchar(); // 将标准输入流中剩下的 '\n' 扔掉
      for (i = 0; i < n; i++)
      {
                scanf("%c", &a);
                getchar(); // 将标准输入流中剩下的 '\n' 扔掉
      }
      a = '\0';
      printf("你输入的字符串是:%s\n", a);

      return 0;
}

guad268 发表于 2020-8-16 13:46:28

打卡
页: [1] 2
查看完整版本: S1E17~18:数组