为啥提示num not dcleard
# include <stdio.h>int main()
{
int n=0;
int a;
int mum;
printf("输入合法数字: ");
getchar("%c",&num);
if (num > '0' && num < '9')
{
a=num;
n++;}
printf("a");
return 0;
}
还有为什么数组要用 int定义啊 那如果要用列表怎么定义啊 你弄错了吧?定义的是 mum,使用的是 num 风过无痕1989 发表于 2020-9-19 14:25
你弄错了吧?定义的是 mum,使用的是 num
哦哦 可还是不对啊 本帖最后由 风过无痕1989 于 2020-9-19 14:59 编辑
# include <stdio.h>
int main()
{
int n=0;
int a; // 有些编译器不支持不定长数组,如 VC++6.0
int num; // 你此处定义是的 mum ,而不是 num
printf("输入合法数字: ");
num = getchar(); // getchar(void)返回无符号数,不能带控制参数
if (num > '0' && num < '9')
{
a=num;
n++;}
printf("a");
return 0;
} 风过无痕1989 发表于 2020-9-19 14:27
是不是getchar要num=getchar()啊
15588686105 发表于 2020-9-19 14:27
哦哦 可还是不对啊
还有就是 getchar() 函数了及 a 了
虽然你前面有一个 int n = 0; 但比较旧的编译器(比如 VC++6.0)还是不允许这么使用
getchar()函数的作用是从计算机终端(一般为键盘)获取一个无符号字符。getchar()函数只能接收一个字符,其函数值就是从输入设备获取到的字符。
getchar(void)从标准输入 stdin 获取一个字符(一个无符号字符)。这等同于getc带有 stdin 作为参数。如果到达文件末尾或发生读错误,则返回 EOF。
15588686105 发表于 2020-9-19 14:32
是不是getchar要num=getchar()啊
这样使用是可以,那样带控制格式的用法就不正确了 风过无痕1989 发表于 2020-9-19 14:41
还有就是 getchar() 函数了及 a 了
虽然你前面有一个 int n = 0; 但比较旧的编译器(比如 VC++6.0) ...
我一直吧getchar当带循环的scanf用的哈哈 15588686105 发表于 2020-9-19 14:59
我一直吧getchar当带循环的scanf用的哈哈
上面的程序已经可以正常运行了,我也编辑修改加上了注释。
我不知道你定义那个数组要干什么,,所以不好帮你怎么改,随意地改成10元素了,你根据你的要求再修改。
如果你的问题解决了,请给个最佳答案吧 来看看啥情况
页:
[1]