一个最简单的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
这个问题你先去了解下ASCII码再说吧
你输入时1的时候,编译器是把它当成字符处理的
你看看库不就知道了
1的acii码值为49
看ascii 一看就明白了
相关问答:
#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 ......
在ue中从远程unix用二进制方式下载c文件到本地,修改之后用二进制方式上传到unix中,再用vi打开该文件,每行后面就会有一个^M的换行符,如果采用ascii方式下载,二进制方式上传的话就没有^M,那请问这样会对程序文件 ......
为什么C写的DLL文件C、PB能调用VB不能调用?
VB里为什么有的DLL直接通过引用可以使用?有的需要通过declare申明外部函数?这些DLL有什么差别?
1、为什么PB能通过DECLARE声明而VB不行?
2、如果这个dll中的 ......
问一下:
#include <stdio.h>
int main()
{
char x, y, z;
int i;
int a[16];
for(i=0; i<=16; i++)
{
a[i] = 0;
......
'\108'作为字符常量对不对?
转义字符'\ddd'表示3位8进制所代表的字符。 但是108不是正确的8进制表示方法,因此应该是错误的。
但是char a='\108'; 为什么编译不出错呢?
\108 没超过 ......