新手问题,求大大解答
#include<string.h>
void main()
{
char str1[]="long time";
char str2[]="long time";
char str3[]="LONG\0TIME";
int i=0;
int len1=strlen(str1);
int len3=strlen(str3);
printf("strlen(str1)=%d\n",len1);
printf("strlen(str3)=%d\n",len3);
strncpy(str1,str3,len1);
strncpy(str2,str3,len3);
putchar('[');
puts(str1);
putchar(']');
putchar('[');
puts(str2);
putchar(']');
}程序是这样的
结果是
strlen(str1)=9
strlen(str3)=4
[LONG
][LONG time
]Press any key to continue
为什么]之前直接有回车了?
[解决办法]
putc()每次输出一个字符,不换行
printf()要输出换行符要手动加'\n'
只有puts会自动加一个回车换行符