读书人

新手有关问题求大大解答

发布时间: 2012-03-26 15:46:55 作者: rapoo

新手问题,求大大解答
#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会自动加一个回车换行符

读书人网 >C++

热点推荐