这期视频PPT将C99的新特性时,好像有个数打错了,a={=};
呵呵,我也发现了。如果这样写编译会报错:error:expected expression before '[' toke
初始化可以混着来 int a = {1, 2, 3, = 4, = 6, 7, = 8} 变长数组。。总感觉不靠谱 学到这了没整明白。。。 我试过了,小甲鱼老师在前面说过的那个不能实现的代码,好像是可以实现的,就是这篇文章最后c99新增的动态定义。是因为c99原因吗?@小甲鱼 泳爸 发表于 2016-5-29 11:00
这期视频PPT将C99的新特性时,好像有个数打错了,a={=};
小甲鱼疏忽了{:5_109:} {:10_256:}{:10_256:}{:10_256:}后面就是指针了 我有一点方{:10_269:}{:10_269:}{:10_269:} 那个getchar那个地方有点不明白,为什么不是“你输入的字符为:”这个地方换行,而是你输入的东西换行了呢
七星瞭望 发表于 2020-1-21 10:05
那个getchar那个地方有点不明白,为什么不是“你输入的字符为:”这个地方换行,而是你输入的东西换行了呢
...
我也没懂,知道了教教我{:5_92:} 变长数组 这个VS居然不支持。 5.变长数组
那个
我用vs怎么不行。。。
萌新提问 #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;
} triven 发表于 2020-2-22 14:24
变长数组 这个VS居然不支持。
我也是,后面指针的内容,也有几个在VS上不支持 {:10_257:} 1.我想咨询下甲鱼老师跟广大的网友,为什么我手机的账号密码登录不进去,然后电脑上的确是畅通无阻。我多么想温故而知新,又不能每时每刻的看电脑好吧。望解答{:10_266:}
2.请开始输入字符后不打回车跟打回车的效果是一样的,那么getchar()在不打回车的情况下的作用是什么?{:10_281:} 屁哥 发表于 2017-10-15 19:28
学到这了没整明白。。。
个性签名有错字兄弟 1000小千哥 发表于 2020-2-10 14:37
我也没懂,知道了教教我
为啥输出的I love fishc.com在“你输入的字符串是”的下一行,而且‘!’也被吞掉了,等于是在数组字符开始输入的时候前面多输入了一个回车,把n+1中本来属于!的位置占据了,那么这个多余的换行符是哪里来的呢?“请输入字符的个数”输入完成后,敲了一个回车,%d的数字n被读取了,回车没有被读取,然后这个回车就一直保存在了标准输入流(输入缓冲区)里面,在后面的for循环中再次输入字符(%c)时,第一个输入的是回车,占据了最后的‘!’的位置,因此就在for循环之前把这个回车换行符给丢掉即可:使用getchar读取它但不返回数值,功能就是将标准输入流中剩下的 '\n' 扔掉。 本帖最后由 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;
}
打卡
页:
[1]
2