c语言 为什么输入字母输出的是数字
展开全部
一、输入数字可以用scanf输入。
如果输入的是整型数据,可以用
int
a;
scanf("%d",&a);
实现把输入的数字赋值给a的效果。
类似的,如果是float,
double,short,long等类型的数据,那么就要把变量定义成对应的类型,然后使用各自的格式字符%f,%lf,%hd,%ld等进行输入。
二、输入单个字符。
输入单个字符可以用以下两种函数。
定义char
c;
1
scanf("%c",
&c);
这种方法和输入数字是类似的,%c仅读入一个字符,并赋值给c。
2
c
=
getchar();
getchar函数的功能就是读入一个字符,并以返回值形式返回。
三、输入一串字符(以空白字符分隔)。
可以用scanf的%s格式。
char
str[100];//空间要定义足够大
scanf("%s",
str);//将字符串读入并存在str中
四,读入一行数据。
可以用gets函数。gets的功能就是读入一整行数据,以换行符为结束。
char
str[100];//同样要足够大的空间
gets(str);
补充,无论哪种形式的输入,都可以用getchar逐个输入到字符串中,然后判断结束符以结束输入,再对字符串做处理。这种方法对编程水平要求比前几种略高,代码量也更大,但好处是完全自己控制,更加灵活。
如果输入的是整型数据,可以用
int
a;
scanf("%d",&a);
实现把输入的数字赋值给a的效果。
类似的,如果是float,
double,short,long等类型的数据,那么就要把变量定义成对应的类型,然后使用各自的格式字符%f,%lf,%hd,%ld等进行输入。
二、输入单个字符。
输入单个字符可以用以下两种函数。
定义char
c;
1
scanf("%c",
&c);
这种方法和输入数字是类似的,%c仅读入一个字符,并赋值给c。
2
c
=
getchar();
getchar函数的功能就是读入一个字符,并以返回值形式返回。
三、输入一串字符(以空白字符分隔)。
可以用scanf的%s格式。
char
str[100];//空间要定义足够大
scanf("%s",
str);//将字符串读入并存在str中
四,读入一行数据。
可以用gets函数。gets的功能就是读入一整行数据,以换行符为结束。
char
str[100];//同样要足够大的空间
gets(str);
补充,无论哪种形式的输入,都可以用getchar逐个输入到字符串中,然后判断结束符以结束输入,再对字符串做处理。这种方法对编程水平要求比前几种略高,代码量也更大,但好处是完全自己控制,更加灵活。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询