有我的C代码,这是一个leetcode问题,我得到了"运行时错误".所以我在VS2013中重新编译,问题是free(++tmp),为什么?我无法得到它,我写了这样的C代码,只想知道关于指针的更多信息.
#include <stdio.h>
#include <stdlib.h>
/* Add binary.
* a = "11", b = "1"
* result = "100"
*/
char *add_binary(char *a, char *b);
int main()
{
printf("%s\n", add_binary("10", "1"));
printf("%s\n", add_binary("1111", "1111"));
return 0;
}
char *add_binary(char *a, char *b)
{
int alen = 0, blen = 0, sum = 0;
int len;
char *tmp, *result;
while(*a++) alen++;
while(*b++) blen++;
a -= 2;
b -= 2;
len = alen > blen ? alen : …Run Code Online (Sandbox Code Playgroud)