二维数组中使用strncpy函数
大家好,我想要请教一下在二维数组中使用strncpy函数的相关问题,谢谢
我想要的输出结果是、
j=0时
打印的字符串为A
j=1时
打印的字符串为空
当我把strncpy所在行的j更改为常数1就能够打印空的字符串,请问这是为什么呢?,我该怎样正确的修改呢?
strlen(pz[i])的值是1
如果j也是1,1-1=0,复制0个字节等于不复制,就是没有改变呀
你的第二段代码,把-j改为固定的-1,那不永远是0吗
你好,这个问题出现的原因是你还没有弄清楚strncpy的参数的含义,char *strncpy(char *dest, const char *src, int n),把src所指向的字符串中以src地址开始的前n个字节复制到dest所指的数组中,并返回dest。这里src是指针,如果不加即使0的话就是原来的,但你如果加了1的话,指针向后移动,而你这个字符串只有一个A,所以它向后移动是没有值的。希望对你有帮助!