fergus1987 发表于 2017-2-16 15:06:14

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

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


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

程序如下:

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

int main()
{
      int a,i,j;
      printf("input 9 integers:\n");
      for(i=0;i<3;i++)
      {
                for(j=0;j<3;j++)
                {
                        a=getch();
                        putch(a);
                        putch(32);
                }
                putch('\n');
      }
      putch('\n');
      for(i=0;i<3;i++)
      {
                for(j=0;j<3;j++)
                {
                        if(i==1||j==1)
                        {
                              putch(a);
                        }
                        else
                        {
                              putch(32);
                        }
                }
                putch('\n');
      }
      putch('\n');
      return 0;
}
运行结果如下:



musilintan 发表于 2017-2-16 17:23:57

你在输入1 4 5这些整形数字的时候,程序识别为字符了,所以保存到数组中的值都是1 4 5的ASC码。所以最后输出的都是1 4 5字符。保存到数组中的并不是1 4 5整形数字。

fergus1987 发表于 2017-2-16 15:11:03

有点崩溃了上面程序中的a其实应该是a但是无论我如何在论坛里修改提交后论坛上都显示为a!!{:10_269:}{:10_257:}{:10_250:}

0mrli0 发表于 2017-2-17 08:08:39

同上,
另外加代码块可以用这里,如图

fergus1987 发表于 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码。所以最后输 ...
茅塞顿开!非常感谢大神的解答!看来还需要多注意这些细节!可惜我还不能评分 感谢!{:10_254:}

fergus1987 发表于 2017-2-20 15:31:44

0mrli0 发表于 2017-2-17 08:08
同上,
另外加代码块可以用这里,如图

感谢大大!已经明白了!{:10_266:}

musilintan 发表于 2017-2-20 20:43:01

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

没关系,我又不是为了得鱼币才回答的{:10_297:}
页: [1]
查看完整版本: 诚心求教!为什么这段程序中putch函数能输出整型常量??