C语言字符输入上的问题

来源:百度知道 编辑:UC知道 时间:2024/05/10 20:25:50
我是处学C语言者,有以下程序是我做的
#include<stdio.h>
main()
{
char ch='0';
int b=0;
printf("Input ch:");
scanf("%c,&ch");
if(ch>='0'&&ch<='9')
b=ch-'0';
printf("b=%d",b);
}

运行时怎么输入字符数字,是不是直接输入1234什么的.可得不到我想要的结果.B总等于0,WHY!
好心人请GIVE A HAND.THANKS!

scanf("%c,&ch");
问题出在这句,是不是你太粗心了写错了,
应该是scanf("%c",&ch);
写程序是需要严谨的,要注意语法错误和逻辑错误,多练才行

scanf("%c,&ch");
改成scanf("%c",&ch);
呵呵 你一定是手下误吧!

你如果输入的不是0到9的话当然输出是0拉.printf("b=%d",b);

输出是0就对了~
#include<stdio.h>

int main(void)/*建议这样写*/
{
char ch='0'; /*这里你定义的是char*/
int b=0;
printf("Input ch:");
scanf("%c,&ch"); /*scanf("%c",&ch);注意引号*/
if(ch>='0'&&ch<='9') /*这个条件一般的输入不会满足,因为你定义的是char,是不是习惯性的输入字母来测试了?所以就不会执行下面这句了,而b就是0了*/
b=ch-'0';
printf("b=%d",b);
return 0;
}