十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
原因很简单,所有的字符串操作函数在作用时都会以White Space为结束符。
成都创新互联专业为企业提供上饶网站建设、上饶做网站、上饶网站设计、上饶网站制作等企业网站建设、网页设计与制作、上饶企业网站模板建站服务,10年上饶做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
White Space包括 回车(Cr Lf),空字符(NULL)等。
在程序中你用了gets(s),这个函数的意思就是接受你的输入,直到你输入一个White Space为止,如果你输入了回车(表示你已经输入完了),就会执行下一句的puts(s),然而你在控制台已经输入了一个回车(虽然没有输入到s里面,但是已经到了控制台里),所以光标会转到下一行,当执行puts(s)后,肯定会换行输出!明白了吧!
如果你想让第二个test在第一个的后面,就不能用回车作为结束符,也就意味着不能用gets()函数...
你可以用scanf()函数来获取字符,然后写到字符串s里面,并自定义一个结束符,比如空格,这样当你输入一个空格的时候就会执行puts(),于是便不会换行了!
效果如下:
Please enter a string:test test
光标在此
c语言printf设置自动回车程序:
t=1;while(t){if(t%2=1)printf("%c",ch2);elseprintf("%c",ch1);t+;}t=n-2*i;while(t-)if(i%2=1)printf("%c",ch1);else.
在输出的时候,计算输出的宽度,或者输出的个数,在达到一定限度后,增加换行符即可。
以输出100个整型值,每输出10个,自动换行为例,函数编写如下:
void func(int *a)
{
int i;
for(i = 0; i 100; i ++)
{
printf("%d,",a[i]);
if(i%10==9) printf("\n");//每输出10个换行。
}
}
printf("\n");这个语句输出的是换行,printf自己不会换行的,和在哪里无关。