本来已经放弃了C语言,打算好好学Java,最近有朋友问这些问题,就顺便翻翻旧书,总结一下这几个函数的用法吧,博主最近生活很。。。懒惰,所以没有更新博客。。。
一、puts() 输出字符串,遇到’\0’停止,并且把’\0’转换成回车换行
eg:
#include<stdio.h>
int main(){
char a[] = "this is an example";
puts(a);
return 0;
}
也非常的好理解,字符串的最后是’\0’,所以上面这个例子的输出结果最后会有一个换行,注意下面这个例子
eg:
#include<stdio.h>
int main(){
int i;
char a[20];
for(i=0;i<20;i++){
a[i] = 'b';
}
//遇到'\0'停止,并换行
a[10] = '\0';
puts(a);
return 0;
}
上面这个例子只输出十个b,然后换行,因为碰到了’\0’
二、putc() 也是输出,可以针对字符数组,但是,只输出一个字符
eg:
#include<stdio.h>
int main(){
char a[] = "hello world\n";
int i = 0;
putc(a[i],stdout);
printf("\n");
while(a[i]){
putc(a[i++],stdout);
}
return 0;
}
上例第一个putc输出的是字符h,第二个putc输出hello world换行,嗯,看例子自己理解
三、getchar() 可以输入一串字符,但只返回第一个
eg:
#include<stdio.h>
int main(){
char ch;
ch = getchar();
printf("输入的字符是:%c",ch);
return 0;
}
上例运行后键入abc,回车,ch得到的值只有a一个,屏幕上也只会显示a
四、gets() 从终端输入一个字符串到字符数组,并且得到一个函数值,该函数值是字符数组的起始地址,一般利用gets函数的目的是向字符数组输入一个字符串,而不关心函数值
eg:
#include<stdio.h>
int main(){
char a[20];
gets(a);
printf("输入的字符串是%s\n",a);
}
*五、getch()和getche() 这两个函数都是用来输入一个字符,前者输入的东西不会显示在屏幕上,后者输入的字符会显示在屏幕上
注:这两个函数要另外加上头文件conio.h
getch()
eg:
#include <stdio.h>
#include <conio.h>
int main(){
char ch;
ch = getch();
printf("输入的字符是:%c",ch);
return 0;
}
getche()
eg:
#include <stdio.h>
#include <conio.h>
int main(){
char ch;
ch = getche();
printf("输入的字符是:%c",ch);
return 0;
}
嗯,自己运行代码试一下,就理解了