考虑,
int main()
{
char s[10];
strncpy(s,"hello",5);
printf("Hello !!%s %d\n",s,strlen(s));
return 0;
}
当我运行这个程序时,什么都没有打印出来。但是当我评论对 strncpy 的调用时,它会打印“Hello !! 0”。
用过ideone(“ http://ideone.com/j1cdKp ”)
当我使用 gcc 编译器(Debian 7.4)时,它给出了预期的输出(“Hello !!hello 6”)。
谁能解释这种行为?
-新手