【发布时间】:2020-06-02 02:57:21
【问题描述】:
我正在尝试完成一项作业,部分作业是打印字符串中字母数量的输出。
我试图对导师给我们的代码进行逆向工程,但他的代码甚至无法正常工作。还是我做错了什么或遗漏了什么?
#include <stdio.h>
#include <string.h>
int main() {
char str1[13] = "Hello";
char str2[13] = "World";
/* concatenates str1 and str2 */
strcat(str1, str2);
printf("strcat(str1, str2): %s\n", str1);
/* total lenghth of str1 after concatenation */
len = strlen(str1);
printf("strlen(str1) : %d\n", len);
return 0;
}
我得到的错误是:
test2.c:13:5:错误:使用未声明的标识符“len” len = strlen(str1); ^ test2.c:14:35:错误:使用未声明的标识符“len” printf("strlen(str1) : %d\n", len);
如果我没有使用正确的标识符,我怎么知道哪个标识符覆盖了特定的命令?
我还将在我的作业中加入以下代码,非常感谢任何建议。
char first[10] = "first";
char last[10] = "last";
char full[20] = " ";
strcat(full, first);
strcat(full, " ");
strcat(full, last);
最终我需要打印姓名(名字、姓氏和全名),然后打印每个人的字符数。
感谢您的帮助。
【问题讨论】:
-
试试
int len = strlen(str1); -
您怎么知道必须声明
char str1和char str2,但不知道如果要使用它也必须声明int len?您可以通过阅读函数本身的文档找到所需的标识符类型。strlen的文档告诉你它返回什么类型,用于存储该返回值的变量必须是该类型。