6.2 格式输出函数
格式控制符,输出表(输出对象)
%e:指数形式浮点小数
m :输出数据域宽,数据长度<m,左补空格;否则按实际输出
.n:对字符串,指定实际输出位数
#include <stdio.h>
int main()
{char a[] = "hello,world!";printf("%s\n %15s\n %10.5s\n %2.5s\n %.3s\n",a,a,a,a,a);return 0;
}
6.3字符输入函数
getchar()
功能:从键盘-字符
返回值:正常,返回读取的代码值
#include <stdio.h>
#include <stdlib.h>
int main()
{char ch;ch = getchar();putchar(ch);return 0;
}
6.4格式输入函数
scanf(“格式控制符”,地址表);
返回值:正常,返回输入数据个数
地址表:变量的地址,常用取地址运算符&
#include <stdio.h>
#include <stdlib.h>
int main()
{int a,b,c;scanf("%2d%4d%2d",&a,&b,&c);printf("%d-%d-%d\n",a,b,c);return 0;
}
例如输入a,b,c,则a = a,b=空格,c=b
#include <stdio.h>//用%c格式符时,空格和转义字符作为有效字符输入
#include <stdlib.h>
int main()
{char a,b,c;scanf("%c%c%c",&a,&b,&c);printf("a = %c,b = %c,c = %c\n",a,b,c);return 0;
}
6.5输入函数垃圾清理
1、用getchar清除
2、用格式串中空格“%*c”来吃掉
#include <stdio.h>
#include <stdlib.h>
int main()
{char a;int b;scanf("%c",&a);getchar();scanf("%d",&b);printf("a = %c b = %d\n",a,b);return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main()
{int a;char b;scanf("%d",&a);scanf("%*c%c",&b);//%*cprintf("a = %d b = %c\n",a,b);return 0;
}
6.6字符串输入输出函数
6.6.1字符串输入函数gets
格式:char *gets(char *s)
从键盘输入-以回车结束的字符串放入字符数组中,并自动加’\0’
//输入串长度应小于字符数组维数
gets函数并不以空格作为字符串输入结束的标志
#include <stdio.h>
#include <stdlib.h>
int main()
{char a[5];char b[5];gets(a);gets(b);printf("a = %s,b = %s",a,b);return 0;
}
6.6.2字符串输出函数put
格式:int puts(const char *s)
向显示器输出字符串(输出完,换行)
字符数组必须以’\0’结束
#include <stdio.h>
#include <stdlib.h>
int main()
{char a[5];char b[5];gets(a);gets(b);puts(a);puts(b);printf("a = %s,b = %s",a,b);return 0;
}