#include<stdio.h>
#include<string.h>
void terminateString(char *str){
str[3] = 0;
printf("string after termination is:%s\n",str);
}
int main(){
char str[]="abababcdfef";
terminateString(str);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:
string after termination is:aba
Run Code Online (Sandbox Code Playgroud)
我们只将索引'3'处的元素赋值为0,但为什么忽略该索引之后的所有字符?有人可以解释一下这种行为吗?
我们只将索引'3'处的元素赋值为0,但为什么忽略该索引之后的所有字符?有人可以解释一下这种行为吗?
带有零终止字符串的约定是0字节表示字符串的结尾.因此,当printf()在位置3遇到零字节时,它会停止打印.