C语言指针问题,麻烦哪位大神帮看看代码为什么输出乱码
#include <stdio.h>
#include <string.h>
char *m_strcpy(char *strDest, const char *strSrc)
{
if (strDest == NULL && strSrc == NULL)
return NULL;
if (strDest == strSrc)
return strDest;
char *temp = strDest;
while ((*strDest++ = *strSrc++) != '\0')
return temp;
}
int main()
{
char me[30] = "what is your name?";
char srcme[30];
char *what = m_strcpy(srcme, me);
printf("%s\n",what);
return 0;
} C 指针 乱码
[解决办法]
这里出问题了。
while ((*strDest++ = *strSrc++) != '\0')
return temp;
[解决办法]
(1) :
while ((*strDest++ = *strSrc++) != '\0');
return temp;
while 行缺少 ";"
(2) :
if (strDest == NULL && strSrc == NULL) // 这里应该是
[解决办法]
不是 &&
return NULL;