有没有办法将值从 getchar() 更改为 C 中的整数?
Is there a way to change the value from getchar() into an integer in C?
我正在用 C 编写一个程序,它将请求响应,然后使用数字的第一次出现(使用 isdigit() ),然后将其分配给一个变量供以后使用。经过一些测试后,我意识到它采用的是 10 的 ascii 值,这是换行符。这是代码片段。
while(isdigit(ch) == 0){
ch = getchar();
}
ch = getchar();
star = ch;//value is being detected as 10, which is line feed.
我在将 ch 分配给 star 时尝试将其强制转换为 int,这并没有改变结果值 10。我的问题是在 ch 的分配范围内,还是语法不正确?
你的问题是你看到一个数字,然后你读下一个字符
while(isdigit(ch) == 0){
ch = getchar();
}
ch = getchar(); <<<======
就用你已有的ch中的值,加上你需要把'0'转换成0,不是一回事
while(isdigit(ch) == 0){
ch = getchar();
}
int inp = ch - '0';
我正在用 C 编写一个程序,它将请求响应,然后使用数字的第一次出现(使用 isdigit() ),然后将其分配给一个变量供以后使用。经过一些测试后,我意识到它采用的是 10 的 ascii 值,这是换行符。这是代码片段。
while(isdigit(ch) == 0){
ch = getchar();
}
ch = getchar();
star = ch;//value is being detected as 10, which is line feed.
我在将 ch 分配给 star 时尝试将其强制转换为 int,这并没有改变结果值 10。我的问题是在 ch 的分配范围内,还是语法不正确?
你的问题是你看到一个数字,然后你读下一个字符
while(isdigit(ch) == 0){
ch = getchar();
}
ch = getchar(); <<<======
就用你已有的ch中的值,加上你需要把'0'转换成0,不是一回事
while(isdigit(ch) == 0){
ch = getchar();
}
int inp = ch - '0';