strcmp(s1, s2);举个例子
时间: 2024-08-12 16:10:50 浏览: 45
`strcmp(s1, s2)` 是 C 语言中的一个字符串比较函数,它通常在标准库函数 `string.h` 中定义。这个函数用于比较两个字符串 `s1` 和 `s2`,如果它们相等,则返回 0;如果 `s1` 小于 `s2`,则返回一个负整数;如果 `s1` 大于 `s2`,则返回正整数。
例如,考虑下面的代码片段:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello";
char str2[] = "World";
int result = strcmp(str1, str2);
if (result == 0) {
printf("The strings are equal.\n");
} else if (result < 0) {
printf("str1 is less than str2.\n");
} else {
printf("str1 is greater than str2.\n");
}
return 0;
}
```
在这个例子中,`strcmp(str1, str2)` 会返回 -1,因为 "Hello" 明显小于 "World",所以程序会输出 "str1 is less than str2."。
相关问题
strcmp(s1, s2);的代码演示
假设我们有两个字符串s1和s2,可以使用strcmp函数比较它们的大小。
```c
#include <stdio.h>
#include <string.h>
int main() {
char s1[20] = "hello";
char s2[20] = "world";
if (strcmp(s1, s2) == 0) {
printf("s1 and s2 are equal\n");
} else if (strcmp(s1, s2) < 0) {
printf("s1 is less than s2\n");
} else {
printf("s1 is greater than s2\n");
}
return 0;
}
```
输出结果:
```
s1 is less than s2
```
在上面的代码中,我们首先定义了两个字符串s1和s2,然后使用strcmp函数进行比较。如果两个字符串相等,strcmp函数返回0;如果s1小于s2,返回值小于0;如果s1大于s2,返回值大于0。根据返回值的不同,我们可以判断两个字符串的大小关系。在这个例子中,s1的字典序小于s2,因此输出"s1 is less than s2"。
c++为什么已知 char* s1= "123", *s2="34";cout<<strcmp(s1,s2);的输出结果为-1
C++中的strcmp函数用于比较两个字符串,它返回一个整数值,表示两个字符串的关系。
在给定的例子中,s1和s2分别指向字符串"123"和"34"。strcmp函数会逐个比较两个字符串中对应位置的字符。在比较过程中,如果对应位置的字符相等,则继续比较下一个位置的字符;如果对应位置的字符不相等,则返回它们的ASCII码差值。
在这个例子中,第一个字符'1'和'3'不相等,其ASCII码差值为-2。因此strcmp返回的值为-2,即-1的补码表示。这意味着s1比s2小。
注意,这里的字符串比较是基于字符的ASCII码值进行比较的。所以在比较字符串时,我们需要确保字符串以空字符('\0')结尾。否则,结果可能是不确定的。
阅读全文