char *s1="hello",*s2;s2=s1;则()。 A. s1不能再指向其它单元 B. puts(s1);与puts(s2);结果相同 C. 不能访问"hello" D. s2指向不确定的内存单元
时间: 2023-11-17 17:04:53 浏览: 104
选项 B. puts(s1);与puts(s2);结果相同。
在这个问题中,首先将字符串常量 "hello" 的地址赋给指针变量 s1,然后将指针变量 s1 的值赋给指针变量 s2。这样,s1 和 s2 都指向字符串常量 "hello" 的地址。因此,选项 B 是正确的,puts(s1);与puts(s2);的结果相同,都会输出字符串 "hello"。
选项 A 是错误的,因为 s1 和 s2 都是指针变量,可以使用它们来指向其他的内存单元。
选项 C 也是错误的,因为 s1 和 s2 都指向字符串常量 "hello" 的地址,可以通过它们来访问字符串常量中的字符。
选项 D 是错误的,因为 s2 指向的内存单元是确定的,它是 s1 的值,也就是字符串常量 "hello" 的起始地址。
相关问题
请完成字符串拷贝程序 #include <stdio.h> void mystrcpy(char s1[], char s2[]); int main() { char s[] = "Hello!"; char s1[20]; mystrcpy(s1, s); puts(s1); return 0; } void mystrcpy(char s1[], char s2[]) { char *p = (1) ; int len = (2) ; while (*p) { s1[ (3) ] = *p; (4) ; } s1[ (5) ] = '\0'; }
完成的程序如下:
```
#include <stdio.h>
void mystrcpy(char s1[], char s2[]);
int main() {
char s[] = "Hello!";
char s1[20];
mystrcpy(s1, s);
puts(s1);
return 0;
}
void mystrcpy(char s1[], char s2[]) {
char *p = s2; // 1. 定义指向s2的指针p,初始指向s2的首地址
int len = 0; // 2. 定义变量len记录s2的长度
while (s2[len]) {
len++;
}
for (int i = 0; i <= len; i++) { // 3. 将s2的内容逐个拷贝到s1中
s1[i] = *p; // 4. 将p指向的字符拷贝到s1中
p++; // 将p指向下一个字符
}
s1[len] = '\0'; // 5. 在s1的末尾添加'\0',表示字符串结束
}
```
程序的运行结果为:
```
Hello!
```
阅读程序,输出结果: #include <stdio.h> #include <string.h> int main() { char s1[]="Hello World"; char s2[80]; strcpy(s2, s1); puts(s2); return 0; }
这个程序的输出结果是:
Hello World
这个程序定义了两个字符数组 `s1` 和 `s2`。`s1` 数组被初始化为字符串 "Hello World",`s2` 数组没有被初始化,所以其内容是不确定的。然后程序调用了 `strcpy()` 函数将 `s1` 数组中的字符串拷贝到 `s2` 数组中。最后程序调用了 `puts()` 函数将 `s2` 数组中的字符串输出到终端上。由于 `s2` 数组中的内容是从 `s1` 数组中拷贝过来的,因此最终程序输出 "Hello World"。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)