
C语言中(str[k]>=‘0’)是什么意思?
str[k]是一个字符串数组,str[k]>=‘0’是什么意思啊就是全部的代码是这样的:voidmain(){charstr[]="1a2b3c";intk;for(k=...
str[k]是一个字符串数组,str[k]>=‘0’是什么意思啊
就是全部的代码是这样的:
void main()
{
char str[]="1a2b3c";
int k;
for(k=0;str[k]!="\0";k++)
if(str[k]>=‘0’&&str[k]<=‘9’)
printf("%c",str[k]);
printf("\n");
}
就是中间的if 那部分是什么意思啊??谢谢高手们的指教啊 展开
就是全部的代码是这样的:
void main()
{
char str[]="1a2b3c";
int k;
for(k=0;str[k]!="\0";k++)
if(str[k]>=‘0’&&str[k]<=‘9’)
printf("%c",str[k]);
printf("\n");
}
就是中间的if 那部分是什么意思啊??谢谢高手们的指教啊 展开
展开全部
str[k] >= '0' 表示判断数组str的第k+1个元素是否大于字符0的ASCII码值48,所以该语句等价于str[k] >= 48。
如果str[k]的数值或所对应的字符的ASCII码值大于等于48,则表达式返回1,否则返回0。
该语句通常用来判断一个字符是否是数字字符,也即
if(str[k] >= '0' && str[k] <= '9') // 如果条件为真,那么字符str[k]即为数字字符
展开全部
注意这里的零是带引号的表述字符常量它会转化成对应的字符零的ASCII码为48。前面是个数组,当然你如果了解ascii它是有特点的比如0——9对应的ascii码,A与a的ascii码,建议看看,记住了,就不用非得转换成ASCII码才会比较,直接看就了解
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if(str[k]>=‘0’&&str[k]<=‘9’) 就是输入的字符串中有数字的就输出
这里比较的是字符的ASCII码,str[k]>='0',str[k]<='9'是指,字符串中ASCII码在字符0到
字符9之间的字符,其实就是字符0到9就输出,看上去好像输出了数字
这里比较的是字符的ASCII码,str[k]>='0',str[k]<='9'是指,字符串中ASCII码在字符0到
字符9之间的字符,其实就是字符0到9就输出,看上去好像输出了数字
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
str[k]的ASCII码是不是大于等于0的ASCII码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
编译器编译时把字符‘0’、‘9’转化为ascII码值48、57
而0~9的数字字符的ascII码值正好介于48~57
而0~9的数字字符的ascII码值正好介于48~57
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询