您的位置:首页 > 编程语言 > C语言/C++

C语言字符输入/输出函数(八)

2016-03-11 11:54 302 查看
//用fgets 代替 gets(后者不检测是否存在越界)  

char a[10];
char c[] = {"tt"};

const int num = sizeof(a);
fgets(a, num, stdin); //num为数组容器最大元素值(末位占位为结束符 '\0')

//(二)输入函数 getchar 遍历每个字符,直到\n换行结束
while (getchar()!='\n') {
printf("1111\n");

}
/* dfd
1111
1111
1111
*/
//输入函数 gets 不检查目标数组是否能容纳输入,不安全 ,读取到换行符,会丢弃
while (gets(ch)!= NULL) {
printf("1111");
break;
}
/* dfd
111
*/

//输入函数 fgets 检查到结束,保存换行符 \n
char *asd = fgets(ch, 10-1, stdin); //读取最多n-1个字符或者读完一个换行符为止 , 第三个参数说明从哪里读取数据,stdin(键盘输入)
/* ffddf
"ffddf\n"
*/

//(三)输出函数 puts 自带以\n结束,自动换行
puts("sdfsadf");
const char a[] = "qettwer";
puts(a);
puts(&a[3]);
puts(a+3);
puts(DES);
/*
sdfsadf
qettwer
twer
twer
一个宏字符串
*/

//输出函数  fputs 不自动添加换行
fputs(a, stdout);
printf("\n");
/*
qettwer
*/

//输出函数 putchar
//以下方法输出结果一样,第二个while循环更为简洁
char *ss = "qweruiop";

int i = 0;
while (ss[i] != '\0') {
putchar(ss[i++]);
}

//*ss 等价于 *ss != '\0'
while (*ss) {
putchar(*ss++);
printf("\n");
}

printf("\n");

while (*ss != '\0') {
putchar(*ss++); //ss++  比 *取值优先 ,最后输出指针对应的值
printf("\n");

}
/*
q
w
e
r
u
i
o
p
*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: