C语言问题,c-'0'是什么意思
这是一个统计各个数字,空白符,其他字符的代码,其中1.c-'0'是什么意思2.intndigit[10];是什么意思3.if(c==''||c=='\n'||c=='\t...
这是一个统计各个数字,空白符,其他字符的代码,其中
1.c-'0'是什么意思
2.int ndigit[10];是什么意思
3.if(c==' '||c=='\n'||c=='\t')的c==''中间要打空格吗
4.printf(",white space=%d,other=%d\n",nwhite,nother);为什么要加第一个,逗号
#include<stdio.h>
main()
{
int c,i,nwhite,nother;
int ndigit[10];
nwhite=nother=0;
for(i=0;i<10;++i)
ndigit[i]=0;
while((c=getchar())!=EOF)
if(c==' '||c=='\n'||c=='\t')
++nwhite'
else if(c>='0'&&c<='9')
++ndigit[c-'0'];
else
++nother;
printf("digits=");
for(i=o;i<10;++i)
printf("%d",ndigit[i]);
printf(",white space=%d,other=%d\n",nwhite,nother);
}
为什么要-‘0’啊,'0‘在这是等于0吗,那为什么要减,直接c不可以吗 展开
1.c-'0'是什么意思
2.int ndigit[10];是什么意思
3.if(c==' '||c=='\n'||c=='\t')的c==''中间要打空格吗
4.printf(",white space=%d,other=%d\n",nwhite,nother);为什么要加第一个,逗号
#include<stdio.h>
main()
{
int c,i,nwhite,nother;
int ndigit[10];
nwhite=nother=0;
for(i=0;i<10;++i)
ndigit[i]=0;
while((c=getchar())!=EOF)
if(c==' '||c=='\n'||c=='\t')
++nwhite'
else if(c>='0'&&c<='9')
++ndigit[c-'0'];
else
++nother;
printf("digits=");
for(i=o;i<10;++i)
printf("%d",ndigit[i]);
printf(",white space=%d,other=%d\n",nwhite,nother);
}
为什么要-‘0’啊,'0‘在这是等于0吗,那为什么要减,直接c不可以吗 展开
25个回答
展开全部
转义字符:
\0 :字符串结束标志;
\n :换行(ascⅱ码为10);
\t :横向跳格;
\b :退格;
\r :回车(ascⅱ码为13);
\f :走纸换页;
\\ :字符\(ascⅱ码为92);
\' :单引号;
'\"':双引号;
\ddd:用8进制表示字符;
\xhh:用16进制表示字符
如果输入空串的话,程序就会输出 thanks
\0 :字符串结束标志;
\n :换行(ascⅱ码为10);
\t :横向跳格;
\b :退格;
\r :回车(ascⅱ码为13);
\f :走纸换页;
\\ :字符\(ascⅱ码为92);
\' :单引号;
'\"':双引号;
\ddd:用8进制表示字符;
\xhh:用16进制表示字符
如果输入空串的话,程序就会输出 thanks
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
void main()
{
char a;
a=getchar();
if (a=='\0');
printf("thanks");
}
运行时输入:回车
显示thanks
c语言'\0' 意思:
字符常量占一个字节的内存空间。字符串常量占的内存字节数等于字符串中字节数加1。增加的一个字节中存放字符"\0" (ASCII码为0)。这是字符串结束的标志。
例如:
字符串 "C program" 在内存中所占的字节为:
C p r o g r a m \0
字符常量'a'和字符串常量"a"虽然都只有一个字符,但在内存中的情况是不同的。
'a'在内存中占一个字节,可表示为:
a
"a"在内存中占二个字节,可表示为:
a \0
void main()
{
char a;
a=getchar();
if (a=='\0');
printf("thanks");
}
运行时输入:回车
显示thanks
c语言'\0' 意思:
字符常量占一个字节的内存空间。字符串常量占的内存字节数等于字符串中字节数加1。增加的一个字节中存放字符"\0" (ASCII码为0)。这是字符串结束的标志。
例如:
字符串 "C program" 在内存中所占的字节为:
C p r o g r a m \0
字符常量'a'和字符串常量"a"虽然都只有一个字符,但在内存中的情况是不同的。
'a'在内存中占一个字节,可表示为:
a
"a"在内存中占二个字节,可表示为:
a \0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
变量c的值-字符'0'的结果。'0'的值是十进制的48。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char类型的ASSCI编码相减
比如 'a'=100
'b'=98
a-b =2 所以a-b ='c'
类似这样,数字我只是随便写的 不准 具体的可以去查码表
比如 'a'=100
'b'=98
a-b =2 所以a-b ='c'
类似这样,数字我只是随便写的 不准 具体的可以去查码表
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c的值减去‘0’的ASC值,相当于c-48
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |