ch = getchar() 能换成 scanf("%d", &ch) 么 或者是%c
能编译不能运行 ch = getchar();和 scanf("%d", &ch);意思类似 只是%d 不能打印字符串么?还是怎么的?#include <stdio.h>
int main()
{
int ch;
int num = 0;
printf("请输入一串字符:");
scanf("%d", &ch);
do
{
// ch = getchar();
if (ch > 0 && ch < 9)
{
num = 10 * num + (ch - '0');
}
else
{
if(num)
{
break; //如果已有数字,则退出循环。
}
}
}
while (ch != '\n');
printf("结果是:%d\n", num);
return 0;
} if (ch > '0' && ch < '9')
上面这个打错了。。。。。。 %d 是读取int型整数的getchar()是读取单个字符的 ch = getchar();等同于 scanf("%c", &ch);都是同样的效果获取字符串
如果是%d的话就变成了整形数字 而%f则变成了浮点数
http://c.biancheng.net/cpp/html/293.html
参考下这个 ch = getchar() 是对应 scanf("%c", &ch);
那可能会问了:“getchar() 函数返回的是一个整型,为什么不是 %d 呢?”
这是因为 getchar() 返回的是一个用整型存放的字符……
小甲鱼 发表于 2017-3-11 03:13
ch = getchar() 是对应 scanf("%c", &ch);
那可能会问了:“getchar() 函数返回的是一个整型,为什么不 ...
半夜三点多的回复 谢谢 了
你们果然辛苦 CalvinD 发表于 2017-3-10 20:16
%d 是读取int型整数的getchar()是读取单个字符的
谢谢 回复 lumber2388779 发表于 2017-3-10 22:04
ch = getchar();等同于 scanf("%c", &ch);都是同样的效果获取字符串
如果是%d的话就变成了整形数字 而%f则 ...
谢谢 师兄 getchar()是字符,%d是Int型的,改成char型 阿西吧 发表于 2017-3-11 11:28
getchar()是字符,%d是Int型的,改成char型
谢谢
页:
[1]