十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
因为你的输入是一个字符串,你一次只读取一个字符,剩下的字符还是存在的,而你用循环去继续读取的话,就会把剩下的字符串读出来。而循环中有打印函数,那就会把取出来的字符打印出来,效果看起来就像是输出了一个字符串,其实是一个字符一个字符的输出。你可以试一下,把打印函数改一下:printf("%c\n", ch); 加一个回车换行,效果就看出来了。
为阳泉等地区用户提供了全套网页设计制作服务,及阳泉网站建设行业解决方案。主营业务为成都做网站、网站设计、阳泉网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
不用循环的话,那就读取的次数有限,打印的次数也有限,效果不一样。
假设编译后的程序是test.exe
试试
c:\testprn1
这是把标准输出映射到打印机,而不是显示器
你查一下dos重定向输出应该会有结果
#include "stdio.h"
void printMap(char m,int n)
{
int i,j,k;
for(i=0;in;i++)
{
for(j=i;jn;j++)
{
printf(" ");
}
for(k=0;k2*i+1;k++)
{
printf("%c",m);
}
printf("\n");
}
}
int main()
{
char m;
int n;
scanf("%c%d",m,n);
printMap(m,n);
}
结果:
float是单精度浮点数,float的指数范围为-127~+128
float的范围为-2^128 ~ +2^128,也即-3.40E+38 ~ +3.40E+38;
float的精度是由尾数的位数来决定的。浮点数在内存中是按科学计数法来存储的,其整数部分始终是一个隐含着的“1”,由于它是不变的,故不能对精度造成影响。
float:2^23 = 8388608,一共七位,这意味着最多能有7位有效数字,但绝对能保证的为6位,也即float的精度为6~7位有效数字;
#includestdio.h
int main()
{short a=32767;
printf("%.3f\n",(float)a/32768*180 );
return 0;
}
变参函数的参数表通常为 (int n,..),其中,n是最后一个命名参数,用来指出接下来要处理参数的个数,这些参数的类型是已知的,你要求区分字符串和字节流,该如何做呢?
void pri(int *p) p是数组的首指针,就是指向第一个元素的指针
{
int *q=p+N; 让q是数组指向最后一个元素
for(;pq;p++) 这个循环就是从第一个到最后一个元素安格输出
printf("%5d," *p);
printf("\n");
}
数组的名本身就是一个指针,表示数组第一个元素,咱们可以对指针进行操作
例如p + 1 就是指针向后移动一个单位,也就是指向第2个元素
现在明白了啊