字符串b没有字符串结束符'\0'
创新互联专注于企业全网营销推广、网站重做改版、博爱网站定制设计、自适应品牌网站建设、H5页面制作、成都商城网站开发、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为博爱等各大城市提供网站开发制作服务。
而你printf是单个字符循环输出的 所以没这个问题
修改方法是puts(b);之前加一句
b[i]=a[0];b[i+1] = a[1];b[i+2] = a[2];b[n] = '\0';
puts(b);
谢谢采纳
puts是输出函数。
只有一个参数 要求是字符串。
比如
puts("abc");
函数功能 是输出这个字符串,并加上换行
相当于printf("abc\n");
也就是说 puts是printf的简化版,更高效一些。
puts就是输出字符串啊。
int puts(
const char* string
);
MSDN的例子
/* PUTS.C: This program uses puts
* to write a string to stdout.
*/
#include stdio.h
void main( void )
{
puts( "Hello world from puts!" );
}
运行结果就是
Hello world from puts!
你要输出换行的话,就用 puts( "\n" );
用法很简单啊,就是把一个C样式的字符串当参数传过去。
//-----------------------------------------
我刚刚试过了
puts( "" )的确可以起到换行的作用。
The puts function writes string to the standard output stream stdout, replacing the string's terminating null character ('\0') with a newline character ('\n') in the output stream.
当puts遇到\0时,会输出一个\n,也就是换行。
所以puts( "" )时,因为字符串本身长度为0,所以第一个字符就是\0,puts会输出一个\n,所以起到了换行的效果。
也就是说, puts( "" )跟puts( "\0" )是等效的,也等效於printf( "\n" )
满意请采纳。
puts()函数用来向标准输出设备(屏幕)写字符串并换行,其调用方式为,puts(s);其中s为字符串字符(字符串数组名或字符串指针)。
用法:int puts(const char *string);
如有问题可以追问。