1. 程序的作用是将字符串s1复制到字符串s2,填空
main()
{ char s1[]="China",s2[20];
int i;
for(i=0;*(s1+i)!='\0';i++)
{ *(s2+i)=*(s1+i);
____ ='\0';
printf("s2=%s\n",s2);}
}
答案是: *(s2+i) 可是我运行了一下,好象不对的,我认为是:*(s2+5) 对伐?
==========>
for(i=0;*(s1+i)!='\0';i++)
{
*(s2+i)=*(s1+i);
}
*(s2 + i) ='\0';
printf("s2=%s\n",s2);
----------------解决方案--------------------------------------------------------
2.main()
{ unsigned a=32768;int b;
b=a;
printf("b=%d\n",b);
}
输出结果是: b= -32768 这怎么算的啊?
a = 32768 ; ==>a binary : 11111111 11111111
b = a; ==>b binary: 11111111 11111111
because b is sign number, so b = -32768
----------------解决方案--------------------------------------------------------
3 and 4 question please run
5 question is 'A'
----------------解决方案--------------------------------------------------------
1.题写错了
1. 程序的作用是将字符串s1复制到字符串s2,填空
main()
{ char s1[]="China",s2[20];
int i;
for(i=0;*(s1+i)!='\0';i++)
*(s2+i)=*(s1+i);
______ ='\0';
printf("s2=%s\n",s2);
}
这样就对了
2题呢~~想知道结果的为什么,要弄清楚负数,正数,无符号数在内存中是以什么形式存放的
----------------解决方案--------------------------------------------------------
以下是引用穆扬在2006-7-15 22:00:55的发言:
超过了又怎样?
你自己试一下 不就知道了吗
我的表达能里不好 怕你看不明白
[此贴子已经被作者于2006-7-15 22:12:47编辑过]
----------------解决方案--------------------------------------------------------
3 我运行过了,没通过,
我没见过case 0 后面什么都没有的,有这种形式吗?
----------------解决方案--------------------------------------------------------
以下是引用Sally_SJL在2006-7-15 22:12:45的发言:
3 我运行过了,没通过,
我没见过case 0 后面什么都没有的,有这种形式吗?
没见过
----------------解决方案--------------------------------------------------------
3.若程序执行时的输入数据是“2473”,则下面的程序的输出结果是
#include<stdio.h>
void main()
{ int cx;
while((cx=getchar())!='\n');
{ swith(cx-'2')
{ case 0
case 1: putchar(cx+4);
case 2: putchar(cx+4);
break;
case 3: putchar(cx+3);
default: putchar(cx+2);
}
}
}
这个程序很阴险啊
----------------解决方案--------------------------------------------------------