C语言输入2个字符串,比较它们是否相等。要求定义和调用函数cmp(s,t),该函数比较字符串s和t是否相等,若相等则返回1,否则返回0。
时间: 2024-03-03 14:51:25 浏览: 42
好的,下面是实现该功能的C语言代码:
```c
#include <stdio.h>
#include <string.h>
int cmp(char *s, char *t) {
if (strcmp(s, t) == 0) {
return 1;
}
else {
return 0;
}
}
int main() {
char s[100], t[100];
printf("请输入字符串s: ");
gets(s);
printf("请输入字符串t: ");
gets(t);
if (cmp(s, t)) {
printf("字符串s和字符串t相等\n");
}
else {
printf("字符串s和字符串t不相等\n");
}
return 0;
}
```
首先,程序会提示用户输入两个字符串s和t,然后调用函数cmp(s, t)比较它们是否相等。函数cmp(s, t)使用strcmp函数比较两个字符串s和t是否相等,如果相等则返回1,否则返回0。最后,程序根据函数的返回值输出相应的结果。注意,这里使用了gets函数来输入字符串,可以输入包含空格的字符串。
相关问题
本关任务:编写函数比较字符串大小,若有两个字符串s1和s2,s1与s2相等返回0,s1>s2返回1,s1<s2返回-1。c语言
好的,以下是实现该功能的 C 语言代码示例:
```c
#include <stdio.h>
#include <string.h>
int cmpString(char s1[], char s2[]) {
int len1 = strlen(s1), len2 = strlen(s2);
int minLen = len1 < len2 ? len1 : len2;
for (int i = 0; i < minLen; i++) {
if (s1[i] < s2[i]) {
return -1;
} else if (s1[i] > s2[i]) {
return 1;
}
}
if (len1 == len2) {
return 0;
} else if (len1 < len2) {
return -1;
} else {
return 1;
}
}
int main() {
char s1[100], s2[100];
printf("请输入第一个字符串:\n");
scanf("%s", s1);
printf("请输入第二个字符串:\n");
scanf("%s", s2);
int res = cmpString(s1, s2);
if (res == 0) {
printf("两个字符串相等\n");
} else if (res == 1) {
printf("%s > %s\n", s1, s2);
} else {
printf("%s < %s\n", s1, s2);
}
return 0;
}
```
函数 `cmpString` 接受两个字符数组作为参数,依次比较它们的每一个字符,如果遇到不同的字符,就可以根据它们的 ASCII 码值来判断哪个字符串更大。如果两个字符串前面的字符都相同,就比较它们的长度,长度更长的字符串更大。在 `main` 函数中,我们获取用户输入的两个字符串,调用 `cmpString` 函数进行比较,并输出比较结果。
回文字符串c语言用函数指针
以下是使用函数指针判断回文字符串的C语言代码示例:
```c
#include <stdio.h>
#include <string.h>
int isPalindrome(char *str, int (*cmp)(const char *, const char *));
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
if (isPalindrome(str, strcmp)) {
printf("%s 是回文字符串\n", str);
} else {
printf("%s 不是回文字符串\n", str);
}
return 0;
}
int isPalindrome(char *str, int (*cmp)(const char *, const char *)) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
if (cmp(&str[i], &str[len - i - 1]) != 0) {
return 0;
}
}
return 1;
}
```
该程序中,isPalindrome函数使用了函数指针cmp,该指针指向了strcmp函数,用于比较两个字符是否相等。在主函数中,先输入一个字符串,然后调用isPalindrome函数进行判断,如果是回文字符串则输出“是回文字符串”,否则输出“不是回文字符串”。
阅读全文