S1E15,C语言问题
……while ((ch = getchar()) != '\n')
{
if (ch < '0' || ch > '9')
continue;
// 语句A
}
……
请问语句 A 在什么情况下会被执行?为什么??? void test() {
int a = 1;
if (a)
printf("判断里面!");
printf("所谓语句A");
}
你可以把a变成0,这个所谓语句A始终执行
你提供的代码,可以详写成:
if (ch < '0' || ch > '9'){
continue;
}
// 语句A 如果输入的字符在ASCII码表中在 ‘0’ 之前 或者在 ‘9’ 之后,会执行语句A 输入的字符大于等于‘0’的ASCII码且小于等于‘9’的ASCII码, ch属于集合时,语句A执行 SHRS23 发表于 2020-2-14 21:21
如果输入的字符在ASCII码表中在 ‘0’ 之前 或者在 ‘9’ 之后,会执行语句A
在‘0’之前或者在‘9‘之后,会执行continue;即直接跳到while循环开始处,进行下一轮循环,读取下一个字符 4goodworld 发表于 2020-2-14 21:17
你可以把a变成0,这个所谓语句A始终执行
你提供的代码,可以详写成:
小甲鱼的答案如下
答:只有当输入为数字时,才会执行语句A。
什么叫输入数字时才会执行语句A,不应该输入任何大于‘0’,小于‘9’的字符都应该执行语句A吗?
SHRS23 发表于 2020-2-14 21:21
如果输入的字符在ASCII码表中在 ‘0’ 之前 或者在 ‘9’ 之后,会执行语句A
小甲鱼的答案如下
答:只有当输入为数字时,才会执行语句A。
什么叫输入数字时才会执行语句A,不应该输入任何大于‘0’,小于‘9’的字符都应该执行语句A吗? major_lyu 发表于 2020-2-14 22:28
输入的字符大于等于‘0’的ASCII码且小于等于‘9’的ASCII码, ch属于集合时,语句A执行
小甲鱼的答案如下
答:只有当输入为数字时,才会执行语句A。
什么叫输入数字时才会执行语句A,不应该输入任何大于‘0’,小于‘9’的字符都应该执行语句A吗? major_lyu 发表于 2020-2-14 22:28
输入的字符大于等于‘0’的ASCII码且小于等于‘9’的ASCII码, ch属于集合时,语句A执行
小甲鱼的答案如下
答:只有当输入为数字时,才会执行语句A。
什么叫输入数字时才会执行语句A,不应该输入任何大于‘0’,小于‘9’的字符都应该执行语句A吗? major_lyu 发表于 2020-2-14 22:30
在‘0’之前或者在‘9‘之后,会执行continue;即直接跳到while循环开始处,进行下一轮循环,读取下一个 ...
小甲鱼的答案如下
答:只有当输入为数字时,才会执行语句A。
什么叫输入数字时才会执行语句A,不应该输入任何大于‘0’,小于‘9’的字符都应该执行语句A吗? major_lyu 发表于 2020-2-14 22:30
在‘0’之前或者在‘9‘之后,会执行continue;即直接跳到while循环开始处,进行下一轮循环,读取下一个 ...
对的,我没看仔细{:10_277:} 老牛来学习 发表于 2020-2-14 22:42
小甲鱼的答案如下
答:只有当输入为数字时,才会执行语句A。
看5楼答案,小甲鱼是对的 老牛来学习 发表于 2020-2-14 22:42
小甲鱼的答案如下
答:只有当输入为数字时,才会执行语句A。
ASCII码在字符‘0’和‘9’之间,的就只有‘0’,’1‘,’2‘,’3‘,‘4’,‘5’,‘6’,‘7’,‘8’,‘9’。所以,只有输入为这几个字符时,A语句才会执行 老牛来学习 发表于 2020-2-14 22:44
小甲鱼的答案如下
答:只有当输入为数字时,才会执行语句A。
你可以去仔细看一下continue语句和break语句的作用
页:
[1]