鱼C论坛

 找回密码
 立即注册
查看: 1854|回复: 6

[已解决]诚心求教!为什么这段程序中putch函数能输出整型常量??

[复制链接]
发表于 2017-2-16 15:06:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 fergus1987 于 2017-2-20 15:32 编辑


在做甲鱼大大的练习中自己先试着编了一次,发现putch函数居然可以直接输出整型常量,这与我之前的学习认知不符,于是很困惑,特此来向大家请教求助?是下面程序有什么特别的地方使得putch函数能输出整型常量了吗?我在单独测试这个函数时却怎么也只能输出字符了!



程序如下:

  1. #include <stdio.h>
  2. #include <conio.h>

  3. int main()
  4. {
  5.         int a[3][3],i,j;
  6.         printf("input 9 integers:\n");
  7.         for(i=0;i<3;i++)
  8.         {
  9.                 for(j=0;j<3;j++)
  10.                 {
  11.                         a[i][j]=getch();
  12.                         putch(a[i][j]);
  13.                         putch(32);
  14.                 }
  15.                 putch('\n');
  16.         }
  17.         putch('\n');
  18.         for(i=0;i<3;i++)
  19.         {
  20.                 for(j=0;j<3;j++)
  21.                 {
  22.                         if(i==1||j==1)
  23.                         {
  24.                                 putch(a[i][j]);
  25.                         }
  26.                         else
  27.                         {
  28.                                 putch(32);
  29.                         }
  30.                 }
  31.                 putch('\n');
  32.         }
  33.         putch('\n');
  34.         return 0;
  35. }
复制代码

运行结果如下:

1.png

最佳答案
2017-2-16 17:23:57
你在输入1 4 5这些整形数字的时候,程序识别为字符了,所以保存到数组中的值都是1 4 5的ASC码。所以最后输出的都是1 4 5字符。保存到数组中的并不是1 4 5整形数字。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-2-16 17:23:57 | 显示全部楼层    本楼为最佳答案   
你在输入1 4 5这些整形数字的时候,程序识别为字符了,所以保存到数组中的值都是1 4 5的ASC码。所以最后输出的都是1 4 5字符。保存到数组中的并不是1 4 5整形数字。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2017-2-16 15:11:03 | 显示全部楼层
有点崩溃了  上面程序中的a[j]  其实应该是a[i][j]  但是无论我如何在论坛里修改  提交后论坛上都显示为a[j]!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-2-17 08:08:39 | 显示全部楼层
同上,
另外加代码块可以用这里,如图
2.PNG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-2-20 15:30:48 | 显示全部楼层
本帖最后由 fergus1987 于 2017-2-20 15:34 编辑
musilintan 发表于 2017-2-16 17:23
你在输入1 4 5这些整形数字的时候,程序识别为字符了,所以保存到数组中的值都是1 4 5的ASC码。所以最后输 ...

茅塞顿开!非常感谢大神的解答!看来还需要多注意这些细节!可惜我还不能评分 感谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-2-20 15:31:44 | 显示全部楼层
0mrli0 发表于 2017-2-17 08:08
同上,
另外加代码块可以用这里,如图

感谢大大!已经明白了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-2-20 20:43:01 | 显示全部楼层
fergus1987 发表于 2017-2-20 15:30
茅塞顿开!非常感谢大神的解答!看来还需要多注意这些细节!可惜我还不能评分 感谢!

没关系,我又不是为了得鱼币才回答的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 23:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表