admintow 发表于 2013-11-23 20:36:03

关于scanf函数的问题

本帖最后由 admintow 于 2013-11-23 20:40 编辑

#include <stdio.h>
int main()
{
      int a,b,c;
      printf("请输入你要说的话\n");
      scanf("%d",&a);
      printf("你输入的话为%d\n",a);
}

可以正常编译,但是为什么不能打印字母呢?只能是数字









云客联盟 发表于 2013-11-23 21:20:44

你接受的是数值,输出的也应该是数值。另外,代码:#include <stdio.h>
int main()
{
      int a;
      printf("请输入一个值:\n");
      scanf("%d",&a);
      printf("您输入的值为:%d\n",a);
}

老shi人 发表于 2013-11-23 21:25:48

int类型不能输入字符,应该写char类型。好好学习基础吧
#include <stdio.h>
int main()
{
      char a;
      printf("请输入你要说的话\n");
      scanf("%c",&a);
      printf("你输入的话为%c\n",a);
}

admintow 发表于 2013-11-23 21:31:12

老shi人 发表于 2013-11-23 21:25 static/image/common/back.gif
int类型不能输入字符,应该写char类型。好好学习基础吧
#include
int main()


长见识了。。。谢谢

江湖告急 发表于 2013-11-23 21:39:48

云客联盟 发表于 2013-11-23 21:20 static/image/common/back.gif
你接受的是数值,输出的也应该是数值。另外,代码:

我爱鱼C ο(^_^)ο

北林之中 发表于 2013-11-23 21:47:17

非法输入了,scanf函数会返回成功读取的变量数量,稍微修改下程序,如下,运行可知,如果输入字符,scanf返回值为0,未能成功读取变量,a的值不变,还是原先那个不可预知的值。
#include <stdio.h>
int main()
{
      int a,b,c;
      printf("请输入你要说的话\n");
      b=scanf("%d",&a);
        if(b==1)
                printf("你输入的话为%d\n",a);
        else
                printf("输入错误,scanf返回值为%d\n",b);
}

云客联盟 发表于 2013-11-24 08:16:52

老shi人

Diu 发表于 2013-11-24 09:14:52

我也懂了。

yuqiuwangzi 发表于 2013-11-24 10:15:17

字母是char类型的。。。

牡丹花下死做鬼 发表于 2013-11-24 10:20:44

你输出都是%d 是整数 输出当然是数字啊

zch463170098 发表于 2013-11-24 10:41:52

asdasdadzzDZDZDawdas

べ惟爱伊. 发表于 2013-11-24 10:48:03

int定义的是整型,,char才是字符。。

三足金乌 发表于 2013-11-24 11:51:53

注意数据类型啊兄弟
页: [1]
查看完整版本: 关于scanf函数的问题