
但用vc6.0试后,答案为defdef,不信你试,求解释
如果:
输入:abc def(回车)
输出:defdef
而不是楼上说型绝伏的abcdef
因为
p=(char*)malloc(sizeof(char)*20); //为p创建堆内存
q=p; //将p创建的堆内存赋值给q
//也就是说,p,q是指向相同的内存
所以说,
输入:abc def(回车) //实质是先把abc输入p指向的内存,再把
//def输入q指向的宏谈内存
//由于q,p所指向的内存是同一内存
//所以,值def覆盖了值abc
因而,内存中只有值def
在输出时,先输出p,再输出q,所以输出def后再输出卜携def
故:
如果:
输入:abc def(回车)
输出:defdef
p=(char*)malloc(sizeof(char)*20);表示为字符串数组在谈嫌内存中分配20个含樱手字节的长度;
q=p;指针赋值
scanf("%s%s",p,q);printf("%s%s",p,q);
输入并打印结果
例如:输入
12345(回车)
12345(回车)
输出颂缺
1234512345
如果:
输入:abc def(回车)
输出:abcdef
怎会如此
楼上正解,给最佳吧