设一个变量c,需要用getchar()获取数字或符号,数字得到也是字符怎么解?,只用一个变量可以实

设一个变量c,需要用getchar()获取数字或符号,数字得到也是字符怎么解?,只用一个变量可以实现吗?如果不行怎么办呢?求思路

getchar()从stdio流中读字符,相当于getc(stdin),它从标准输入里读取下一个字符。
c = getchar(); c获得输入的字符或数字。 如果输入的是数字,它会以ASCII为准,转换成相应的字符。printf("字符%c = 数字 %d",c,c);
下面是将数字转换为字符串(你不一定用的上):
C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串。以下是用itoa()()函数将整数转换为字符串的一个例子:

# include <stdio. h>
# include <stdlib. h>
void main (void);
void main (void)
{
int num = 100;
char str[25];
itoa(num, str, 10);
printf("The number 'num' is %d and the string 'str' is %s. \n" ,
num, str);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-10-30
有一个函数atoi(const char *),,大致写下伪代码,详细你还要判断下
while((c = getchar()) != '\n')
{

printf("%d",atoi(&c));
}追问

怎么用啊?

追答

我上面写的 只是如何处理 你输入数字,并且输出来,比如你输入123,那么输出123,你说不能定义变量,那我就只能输出了。按照道理同理。
while((c = getchar()) != '\n')
{
if (c >= 'a' || c = 'A' || c <= 'Z' )
{
printf("%c",c);
}
else
printf("%d",atoi(&c));
}

大致这样吧,一小小细节 我没怎么去想。

追问

我想用得到的数字进行四则运算…比如3+2。加的是assii值。51+50=101…大神求解

追答

那一样啊,都已经得出数字了,但是做四则运算,你得定义变量,一个变量我解决不了,需加2个变量,都是int型。那么在while循环内,if-else分别赋值,赋值时候判断下如果是字符就atoi一下,然后switch。其实也不要去判断,只要在if-else语句里面的if里面 改成sprintf()函数输入到一个变量中去,就可以了

追问

谢谢。我试试

第2个回答  2014-10-30
数字也可以定义为字符型数据,你可以看看ascii表格
第3个回答  2014-10-30
不知道你要表达什么?追问

就是得到的数字输出的话就是assii值了。但我需要的是数字本身

追答

char c;你是不是int c了。。

getchar只能输入一个字符。

char c;c=getchar();putchsr(c);

putchar(c);
输出也可以是printf,但输出格式是c%

追问

需要用数字做计算( ̄▽ ̄)

追答

计算还要用getchar...如果你输入数字,那你c-48,就对应了

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网