第四届计应赛C语言初赛题目
下面程序段的执行结果是( )。char *str1="aAbBcC", *str2="AaB";
str1++; str2++;
printf("%d\n",strcmp(str1,str2));
A. 正数B. 正数C. 零D. 无法确定 不是负数吗
'A'<'a' 本帖最后由 肖-肖 于 2021-6-2 17:52 编辑
strcmp是比较两个字符串的大小,两个字符串相同时返回0,第一个字符串大于第二个字符串时返回一个正值,否则返回负值。
重点来了,由于str1++和str2++
使得str1和str2分别指向了A和a
当进行比较的时候比较的是两个字符的ASCII
显然小写字母的ASCII码是要大于大写字母的ASCII码的,所以就会输出一个负数
答案没有负数吗???? B选项是负数,我打的时候不小心打错了,非常抱歉 狂想曲丶 发表于 2021-6-2 17:53
B选项是负数,我打的时候不小心打错了,非常抱歉
嗯 没事没事 题出的挺好的
页:
[1]