c语言中'1'和1的区别

这个问题想了很久都想不通,我去查书,上面说只是字符于其他部分的分隔符,或者是说字符常量的定界符,而非字符常量的一部分。还是理解不了。
知道的大哥帮小弟解释一下!!!
对刚才的解释偶表示感谢,下面偶就举一个例子希望大家就题论题的给小弟解释一下
#include <stdio.h>
int main()
{
int month;
printf("请输入月份:");
scanf("%i",&month);
switch(month)
{
case '1': printf("january\n");break;
case '2': printf("february\n");break;
case '3': printf("march\n");break;
case '4': printf("april\n");break;
case '5': printf("may\n");break;
}
getchar();getchar();
return 0;
}
---------------------------------------------------------
#include <stdio.h>
int main()
{
int month;
printf("请输入月份:");
scanf("%i",&month);
switch(month)
{
case 1: printf("january\n");break;
case 2: printf("february\n");break;
case 3: printf("march\n");break;
case 4: printf("april\n");break;
case 5: printf("may\n");break;
}
getchar();getchar();
return 0;
}
这两个代码有什么区别?给小弟解释一下吧!!!

一、数据类型不同

1、'1':是定义的字符型变量,代表字符1。

2、1:是定义的整型变量,代表数字1。

二、占用内存空间不同

1、'1':在内存堆栈中占用一个字节。

2、1:在内存堆栈中占用四个字节。


三、定义规则不同

1、'1':定义的时候使用长度限制限制的是实际存储长度。

2、1:定义的时候限制的是数据在数据表中的显示宽度,不影响实际值的存储。


参考资料来源:百度百科-整型变量

参考资料来源:百度百科-字符变量

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-07

在C语言中,'1'表示字符1(字符型常量); 1表示数字1(数字型常量)。

两者的关系为:1='1' - '0';   // 即将字符1转换为数字1


两者的区别于联系可以通过下面的程序段来说明:

char ch1='1';  // 将字符'1'赋值给字符变量ch1
char ch2=1;    // 将ASCII码值为1的字符赋值给字符变量ch2
int a1 = '1';  // 将字符'1'对应的ASCII码值赋值给整型变量a1
int a2 = 1;    // 将数字1赋值给整型变量a2

第2个回答  2008-04-11
1是一个整型实数占一个整型实数的存储空间;而'1'是一个字符型数据要为其开辟存放'\0'的内存空间;两者不仅数据类型不同而且存储方式也不同.课本上有详解的.
第3个回答  2008-04-11
'1'是字符型的,是一个字符。1是整形的,是一个数字。
第4个回答  推荐于2017-09-04
'1'是字符型...ASCII编码中'1'对应十进制是49
#include<stdio.h>
viod main()
{char c='1';
printf("%d\n",c);
}本回答被提问者采纳
相似回答