#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char *s;
s = strdup("foo");
printf("%s\n", s);
getchar();
return 0;
}
看起来很无害,不是吗?但是我的 IDE 是 Dev-C++,给了我以下警告:警告:赋值从整数中生成指针而不进行强制转换
如果您像这样更改代码,警告就会消失:
char *s;
s = (char*)strdup("foo");
谁能帮我解释一下?