c语言从键盘输入字符串 | 您所在的位置:网站首页 › c语言怎么从键盘输入一个数 › c语言从键盘输入字符串 |
#include
#include
// 输入三个字符:每输入一个字符就要用空格或回车间隔,结束时输入回车
int main(){
char b[4];
for(int i = 0;i < 3;i++)
{
scanf("%c",&b[i]);
getchar(); //吸收缓存区中的空格或回车
if(i+1 == 3)
b[i+1] = '\0'; // 字符数组的结束符号
}
printf("%s\n",b);
}
这种方法是 一个字符一个字符地输入: 字符与字符之间用空格或回车间隔,全部输入完毕后用回车结束 getchar()方法是用来读取字符与字符之间的空格或者回车的, b[ i+1 ] = '\0' ; 用'\0'来结束字符串:如果去掉此块代码,b[2]之后会出现乱码 解决办法:用 “” 空串来初始化数组 char s[50] = ""; #include int main() { char s[50]; scanf("%s",s); printf("%s\n",s); return 0; }直接输入一个字符串并存储。用“%s”读入,程序会自动在结束时加 结束符 '\0' 推荐使用此方法,但是应该明白结束符 '\0' 的存在!!! #include // 输入一串字符,再从缓冲区挨个读取 int main(){ int i = 0; char c; char s[50] = ""; // 如果不初始化s[],系统会自动赋值 scanf("%c",&c); while(c != '\n'){ s[i] = c; i++; // printf("%c\n",s[i]); scanf("%c",&c); } printf("%s\n",s); return 0; }
直接输入一个字符串,程序在缓冲区中读取一个字符, 如果次字符不是回车'\n',则存入字符数组,如果是回车则结束循环 这里已经初始化了数组,所以不进行 '\0' 结束符赋值也不会有乱码 这个方法虽然麻烦,但是可以在存储字符串时实现一些功能,比如判断字符是否为小写,如果不是则转换为小写
|
CopyRight 2018-2019 实验室设备网 版权所有 |