26.若有定义语句: char *s="OK",*s2="ok";,以下选项中能够输出“ OK”的语句是______。 A.if(strcmp(s1,s2)=0) puts(s1); B.if(strcmp(s1,s2)!=0) puts(s2); C.if(strcmp(s1,s2)=1) puts(s1); D.if(strcmp(s1,s2)!=0) puts(s1);
时间: 2024-04-09 21:29:34 浏览: 85
正确的选项是 A. if(strcmp(s1,s2)==0) puts(s1);
解析:
- 定义了两个字符指针变量 s 和 s2,分别指向字符串 "OK" 和 "ok"。
- strcmp 函数用于比较两个字符串是否相等,返回值为 0 表示相等。
- 选项 A 中的语句使用了 strcmp(s1,s2)==0 的条件判断,表示如果 s 和 s2 字符串相等,则执行下面的代码。
- puts 函数用于输出字符串。
- 所以,选项 A 中的语句如果执行,就会输出字符串 "OK"。
所以,选项 A. if(strcmp(s1,s2)==0) puts(s1); 能够输出 "OK"。
相关问题
与山应标节语句狂释,标号4写对应完整程序块注释)。 #include <stdio.h> void del space(char*sl); /(1) int main(int arge, char *argv]) char s,="hasdf g"; puts(s); //(2) del_space(s); puts(s); //(3) return 0; void del space(char*sl) chars2; s2=s1 while (*sl) if(*s1='") s1++; else ( *s2=*s1; s1++; s2++; -1/(4) *s2 ="10'; 注释: (1) (2) (3) (4) 简述完整程序功能:
以下是完整程序块注释:
```c
#include <stdio.h>
// 声明函数del_space
void del_space(char *sl);
int main(int argc, char *argv[]) {
// 初始化字符串s
char s[] = "hasdf g";
// 输出原字符串s
puts(s);
// 调用函数del_space对s进行处理
del_space(s);
// 输出处理后的字符串s
puts(s);
// 程序执行完毕,返回0
return 0;
}
// 定义函数del_space
void del_space(char *sl) {
// 定义辅助字符串s2
char s2[100];
// 将s1指向字符串sl的头部
char *s1 = sl;
// 将s2指向字符串s1的头部
char *s2_ptr = s2;
// 遍历字符串s1中的每个字符
while (*s1) {
// 当字符不是空格时,将字符存储在s2中,并将s2的指针后移
if (*s1 != ' ') {
*s2_ptr = *s1;
s2_ptr++;
}
// 将s1的指针后移
s1++;
}
// 将s2的末尾字符赋值为'1'
*(s2_ptr++) = '1';
// 将s2的末尾字符赋值为'0'
*(s2_ptr++) = '0';
// 将处理后的字符串s2拷贝回原字符串sl的位置
while (*s2) {
*sl = *s2;
sl++;
s2++;
}
// 将字符串sl的末尾设置为'\0',表示字符串结束
*sl = '\0';
}
```
该程序的功能是将字符串中的空格字符删除,并在字符串末尾添加字符'1'和'0'。程序首先定义了一个辅助字符串s2来存储处理后的结果,然后遍历原字符串中的每个字符,将不是空格的字符存储在s2中。最后将处理后的字符串s2拷贝回原字符串的位置,并在字符串末尾添加字符'1'和'0'。
void delchar(char *s1,char s2) { char *p=s1; while(*s1!=0) {if(*s1!=s2) *p++=*s1;s1++;} *p='\0'; }这段代码什么意思
这段代码表示定义一个函数delchar,函数接受两个参数,一个是char指针类型的s1,另一个是char类型的s2。函数的作用是删除s1中所有的s2字符。其中利用指针p来记录新字符串的位置,利用while循环和if语句扫描整个字符串s1,当扫描到的字符不是要删除的字符时,将其复制到新的字符串中。最后在新字符串的末尾添加'\0'即字符串结束符。
阅读全文