void Test(void){
char *str = (char *) malloc(100);
strcpy(str, "hello");
free(str);
if(str != NULL){
strcpy(str,"world");
printf("%s\n",str);
}
}
结果是world,我的疑问是free掉str以后,虽然str依然保存malloc分配的地址,但已经不能通过它使用了,为什么下面还可以调用strcpy向这个地址赋值呢?
void Test(void){
char *str = (char *) malloc(100);
strcpy(str, "hello");
free(str);
if(str != NULL){
strcpy(str,"world");
printf("%s\n",str);
}
}
结果是world,我的疑问是free掉str以后,虽然str依然保存malloc分配的地址,但已经不能通过它使用了,为什么下面还可以调用strcpy向这个地址赋值呢?
free(str);
str = NULL;
等级:
前几天参加了百度的笔试, 就 AC 了一道题(留下菜鸡的泪水). 第三题没怎么花时间, 但是第二题是花了时间没做出来, 今天在牛客上学习了一下大佬们的代码, 居然还是没太明白(怀疑人生了). 就又去请教了东哥. 题目 ...
很久没上博客园了,今天一口气把10月份的所有感兴趣的首页文章看完,看到一篇“让人懊恼的面试-看程序员的基本功 ”,说来巧啦,博主是我6个月前请教过的学长,当时刚接触.net,想做cms,而他正好在做一个开源的...
问题描述: 给出一个m阶多项式 (bi已知) 对给定的正整数 a,求 由于这个数可能比较大,所以只需计算 S(n) 对109+7取模后的值。输入格式: 第一行包括三个整数 n,m,a。 第二行包括m+1个整数,b0,b1,...
给定一个数组,数组的元素均为非负整数。对数组重复进行如下操作:移除两个元素,计算它们差的绝对值,如果不等于0,则把计算的结果添进这个数组。因此,最后这个数组会剩下...
请教一道C++题目思路与源码:输入K进制的正整数N,请把N化为L进制后输出。(N;L,K) 有多组数据。 输入格式: K N L 输入样例: 8 10 2 10 10 16 输出样例: 1000 A 请问一下,这样做错在哪? #include int k,n...
编写一个每200ms输出一次当前时间的程序(精确到毫秒),要求两次输出之间程序处于休眠状态
|||for語句中有三个語句 作为j的初值 这是错的|||这里本身y是变化的 但不管怎样...y++)你的X变量因为不影响循环条件可以放在for语句的循环命令里面而不要放在小括号里这样更清晰也不容易错~ y++){for(int j=y;j;j++) {
有给定的底面积 = 1,高度为 blocks 不等的积木;现在有一个底面积为 tong_size 的桶,想把积木全部放进去,求最低的堆积方案。或者就是把一个数组分组,求分成n组之后,每一组的和的最大值为最小。...
String str="33 and P090204 my salary is ¥8400.4 "; 提取所有数值进行相加33+90204+8400.4=98637.4返回。 这个程序怎么写 [b]问题补充:[/b] 不用替换这样方法 但还是谢谢你 [b]问题补充:[/b] ...