易截截图软件、单文件、免安装、纯绿色、仅160KB

一个最简单的C问题

main()
{
    char ch;
    ch=getchar();
    printf("%d\n",ch);

}


当输入1时,输入出的结果是49。这是为什么?C语言中字符是怎么存储的。

  谢谢!
字符1和数字1是不同的。
C语言中字符用的是ASCII码,'1'==49
你搜索一下吧

main()
{
    char ch;
    int d;

    ch=getchar();
    d=ch-'0';
    printf("%d\n",ch);

}
那为什么我现在输入8时,输出的结果就是8呢。




同疑问

你输入A肯定是53

引用
main()
{
    char ch;
    int d;

    ch=getchar();
    d=ch-'0';
    printf("%d\n",ch);

}
那为什么我现在输入8时,输出的结果就是8呢。



这个问题你先去了解下ASCII码再说吧

你输入时1的时候,编译器是把它当成字符处理的

你看看库不就知道了

1的acii码值为49

看ascii 一看就明白了


相关问答:

c基础

#include <string.h>
#include <stdio.h>

void main()
{
int i;
char buf[]="abcde";
strncpy(buf,"abc",3);
for(i=0;i <5;i++)
printf(&q ......

ftp上传下载c文件方式

在ue中从远程unix用二进制方式下载c文件到本地,修改之后用二进制方式上传到unix中,再用vi打开该文件,每行后面就会有一个^M的换行符,如果采用ascii方式下载,二进制方式上传的话就没有^M,那请问这样会对程序文件 ......

为什么C写DLL文件C、PB能调用VB不能调用

为什么C写的DLL文件C、PB能调用VB不能调用?
VB里为什么有的DLL直接通过引用可以使用?有的需要通过declare申明外部函数?这些DLL有什么差别?

1、为什么PB能通过DECLARE声明而VB不行?
2、如果这个dll中的 ......

C 程序问题 (二) - C/C++ / C语言

问一下:
#include <stdio.h>
int main()
{
  char x, y, z;
  int i;
  int a[16];
  for(i=0; i<=16; i++)
  {
  a[i] = 0;
  ......

c中的转义字符问题

    '\108'作为字符常量对不对?
转义字符'\ddd'表示3位8进制所代表的字符。 但是108不是正确的8进制表示方法,因此应该是错误的。
但是char a='\108'; 为什么编译不出错呢?
\108 没超过 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号