5 以下程序的输出结果是_。
main()
{ char c;
c=0362;
printf("%d\n",c);
}
0362是八进制表示方式,转化成二进制是:011 110 010,char只有八位,所以截取八位为:1111 0010。%d是按整型输出,第一位是表示符号位,1表示负数,1111 0010 是补码表示形式,除开第一位符号位,就111 0010,其原码表示为000 1110,就是14,加上符号位就是-14。
for (i = len; i>=0; i--)
{
if (s[i] == c)
{
for (j = i; j < len; j++)
{
s[j] = s[j + 1];
}
}
}
注:从后往前运算,遇到符合条件的字符就用循环将其后的字符前移