C语言新手,我写了下面的程序,编译没错,执行就报错
#include <stdio.h>
#if(1)
#include <string.h>
char *strcat_(char *str1,char *str2,int str1L,int str2L);
int main(int argv,char argc[])
{
char str1[100],str2[100];
printf("请输入第一个字符串:");
gets(str1);
printf("\n请输入第二个字符串:");
gets(str2);
strcat_(str1,str2,strLen(str1),strLen(str2));
return 0;
}
char *strcat_(char *str1,char *str2,int str1L,int str2L)
{
int length = str1L + str2L + 1;
printf("------%d",length);
return "a";
}
#endif
编译的时候,提示:
warning C4013: 'strLen' undefined; assuming extern returning int
运行的时候,提示:
test.obj : error LNK2001: unresolved external symbol _strLen
Debug/Text.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错
-----------------------------------------------------
我看了很久。不知道错在哪里?
[解决办法]
strLen应该小写strlen
[解决办法]
strcat_(str1,str2,strlen(str1),strlen(str2));
[解决办法]
strLen 改成 strlen
你写错了,L写成大写了
这个我改后编译运行,都正确
[解决办法]
关于自己是否适合编程的很简单的测试:
在报纸或杂志上随便找一段约1000字的文章,在Word中输入一遍。输完后再参考下面答案:
A里面有10处以上文字或标点错误
B里面没有文字或标点错误并敢为此跟人打赌
C里面没有文字或标点错误并且字体和排版完全与原稿一致
D打印在半透明的纸上和原稿重叠在一起检查一模一样,且自我感觉很有成就感
A不适合编程(理由:打字准确度偏低、粗心大意)
B初级程序员(理由:打字准确度很高、认真细致、自信、理解全角半角概念)
C高级程序员(理由:在B的基础上理解字体和排版也是电脑打印的重要因素、但相比D还不够偏执、精益求精、结果可验证)
D软件项目经理(理由:能针对项目给出令人信服的细致到极点的需求说明和典型测试用例。用户几乎挑不出毛病。专业!)
如果想从A变成B的话,到我的资源http://zhao4zhong1.download.csdn.net/里面下载“适合程序员的键盘练习”