关于malloc
#include"malloc.h"main()
{
char *s1,*s2,m;
s1=s2=(char *)malloc(sizeof(char ));
*s1=15,*s2=20;m=*s1+*s2;
printf("%d",m);
} 答案为什么是40!
不是,刚才我没把意思说清楚。其实s1,s1经过你那样赋值后,都是指向同一块存储单元。这样无论是
s1 = s2 = ...,还是s2 = s1 = ...只要最后是*s2 = 20,那么结果就是40. 如果最后*s2 = 15,则结果为30.
[此贴子已经被作者于2007-8-22 11:59:46编辑过]