字符串结尾

「已注销」 「已注销」 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
c语言中,我们用数组来保存字符串,最后用'\0'来表示结尾。
那么下面这个例子,'\0'是哪里来的
#include<stdio.h>

int main() {
int i;
// your code goes here
char str[100];
scanf("%s",str);//并没有输入'\0'
printf("%s",str);
for(i = 0 ;i < 100;++i)
printf("str[%d] = %d\n",i,str[i]);
return 0;
}
/*
Input:
Hello


Output:
Hellostr[0] = 72
str[1] = 101
str[2] = 108
str[3] = 108
str[4] = 111
str[5] = 0 //结尾标志
str[6] = 4
str[7] = 8
str[8] = 0
str[9] = 0
str[10] = 0
str[11] = 0
str[12] = -1
.
.
.
*/

最后的疑问是:
我们在使用cin,scanf,gets,输入字符串的时候,'\0'哪里来的,我们并没有输入这个字符,难道是这些运算符和函数自己加的吗
...全文
评论 12
收藏 已收藏
分享
返回顶部
「已注销」
C语言 70,039 成员 243,237 内容