D15. 字元阵列(2)
前一篇有讲到字元的输出是printf("%c",a[i]);
而字串是printf("%s",a);
输出是一整个a而不用指定要输出哪一格
在输入方面的部分scanf("%s",a)一次可以取一个字串,但是缺点就是如果遇到空格的话只能读取到空格前的字串, 像是如果用scanf输入字串hello world时,只能记到hello而已,所以如果要读三个单字等於要开三个阵列,这样太 麻烦,这时我们就可以用gets()跟puts()
#include<stdio.h>
main()
{
char b[15];
gets(b);
printf("%s\n",b);
return 0;
}
但是使用gets()时,虽然已经设定阵列b的大小是15,如果输入的字超过15个却还是可以照样输出,这样的执行结果目前还不会造成太大的问题,其实这个结果已经造成缓冲区溢位(buffer overflow),也就是说多余的那些字元会到了未被分配的记忆体空间,如果那些记忆体空间已经存有资料,可能会擦除资料造成程序中止,所以也有另外一种函式叫做fgets()来替代gets()
>>: 【Vue】Vue Router 设定路由| 专案实作
这里要来介绍如何优化 css 有时候我们因为要加前缀词(有的旧浏览器不支援,所以需要加) 但这会浪费...
起初刚学到设定颜色时,都是使用background-color来帮物件或是背景上色 於是在学到 gr...
正文 今天要来Demo ArgoCD上透过Gitlab的SSO与权限控管 先创建一个namespac...
GitHub Repo https://github.com/b2etw/Spring-Kotlin...
Kubernetes 开源有 6 年时间了,为什么还要写一篇 Kubernetes 入门的文章?”...