function funA(){ function funB(){ console.log(1); } funB() function funB(){ console.log(2); } } funA() 运行结果
时间: 2024-02-14 14:22:44 浏览: 157
运行结果是输出数字 2。这是因为 JavaScript 中的函数声明会提升到作用域的顶部,所以在 funA 函数中,第二个函数 funB 的声明会覆盖掉第一个函数 funB 的声明。因此,当调用 funA 函数时,会先执行第一个 funB 函数的声明,但不会输出任何内容,然后立即被第二个 funB 函数的声明覆盖,并输出数字 2。
相关问题
本关任务:写出所给代码中的两个函数funA和funB的声明与定义,使得funA(p)=a能实现通过指针p访问用户输入的字符串a,funB能将该字符串中的小写字母全部变成大写,并返回这个大写的字符串。 编程要求 根据提示,在右侧编辑器补充代码,除了实现funA和funB外,不能修改包括main函数在内的其他代码,不能在全局定义新的变量、指针、数组和函数等,不能调用其他的库。 funA和funB内不能调用任何输入输出函数(包含但不限于cin,cout,scanf,prinf,getchar,putchar等等)。 不允许存在内存泄漏,由于EC不能检测内存泄漏(同学们可以自行了解内存泄漏检测工具valgrind),助教将进行手动评测(以最后一次提交为准)。 每个测试用例有三行,每行对应一个字符串,长度不超过98,而且只含有小写和大写字母。 输出有三行,将输入转化为大写后,按顺序输出。 测试说明 平台会对你编写的代码进行测试: 测试输入: ieee tryAtry acisOK 预期输出: IEEE TRYATRY ACISOK
```c++
#include <iostream>
#include <cstring>
using namespace std;
void funA(char* p, char* a);
char* funB(char* a);
// 在此处补充funA和funB的函数声明和定义
void funA(char* p, char* a) {
int len = strlen(a);
for (int i = 0; i < len; i++) {
*(p+i) = *(a+i);
}
}
char* funB(char* a) {
int len = strlen(a);
for (int i = 0; i < len; i++) {
if (*(a+i) >= 'a' && *(a+i) <= 'z') {
*(a+i) = *(a+i) - 'a' + 'A';
}
}
return a;
}
int main() {
char a[100], b[100], c[100];
char *p1 = a, *p2 = b, *p3 = c;
cin >> a >> b >> c;
funB(funA(p1, a));
funB(funA(p2, b));
funB(funA(p3, c));
cout << a << endl << b << endl << c << endl;
return 0;
}
```
根据提示,在右侧编辑器补充代码,除了实现funA和funB外,不能修改包括main函数在内的其他代码,不能在全局定义新的变量、指针、数组和函数等,不能调用其他的库。 funA和funB内不能调用任何输入输出函数(包含但不限于cin,cout,scanf,prinf,getchar,putchar等等)。 不允许存在内存泄漏,由于EC不能检测内存泄漏(同学们可以自行了解内存泄漏检测工具valgrind),助教将进行手动评测(以最后一次提交为准)。 每个测试用例有三行,每行对应一个字符串,长度不超过98,而且只含有小写和大写字母。 输出有三行,将输入转化为大写后,按顺序输出。
```
#include <stdio.h>
#include <string.h>
void funA(char* str) {
int len = strlen(str);
for(int i = 0; i < len; i++) {
if(str[i] >= 'a' && str[i] <= 'z') {
str[i] -= ('a' - 'A');
}
}
}
void funB(char* str1, char* str2, char* str3) {
funA(str1);
funA(str2);
funA(str3);
printf("%s\n%s\n%s\n", str1, str2, str3);
}
int main() {
char str1[100], str2[100], str3[100];
scanf("%s%s%s", str1, str2, str3);
funB(str1, str2, str3);
return 0;
}
```
阅读全文