[求助] 关于strchr函数的问题
#include "stdio.h"#include "string.h"
int main(void)
{
char string[15];
char *ptr;
char ch='r';
strcpy(string, "This is a string");
printf("%s\n",string);
ptr = strchr(string,ch);
if (ptr)
printf("The character %c is at position: %d",ch,ptr-string);
else
printf("The character was not found");
return 0;
}
如果string数组的大小为15的话,结果为
This is a string
The character g is at position :15
这里有两个问题求助!
1.为什么打印出的第一个结果是This is a string,string的长度不是15吗?
2.如果把数组string的长度改成20的话,即数组的长度>="This is a string"的长度既可。我想问的是这是为什么啊?
是不是跟溢出有关啊?
谢谢!