关于sprintf()函数的疑问
#include <stdio.h>
int main(void)
{
int nPort = 80;
char src[4];
char dst[4];
sprintf(src, "%d", nPort);
printf("src = %s\n", src);
sprintf(dst, "%s", &nPort);
printf("dst = %s\n", dst);
return 0;
}
运行结果:
[root@localhost funtion]# gcc -o sprintf sprintf.c
[root@localhost funtion]# ./sprintf
src = 80
dst = P
sprintf(src, "%d", nPort)
sprintf(dst, "%s", &nPort)
这里为什么一个用nPort,一个要用&nPort?
第二个用nPort的时候总是出现段错误