【发布时间】:2020-08-25 11:01:08
【问题描述】:
我正在编写一个程序来比较不同的字符串。特别是以OH 结尾的化学元素。如果字符串以OH 结尾,我必须返回-1。但是,我的程序不起作用。我哪里错了?
#include <stdio.h>
#include <string.h>
int hydroxide(char *string);
int main() {
char *string;
printf("Enter String:");
gets(string);
printf("%d", hydroxide(string));
}
int hydroxide(char *string) {
string = strrchr(string, 'O');
if (string != NULL)
return (strcmp(string, "OH"));
return (-1);
}
【问题讨论】:
-
小贴士:避免使用gets() - 这是一种不好的做法,并且已被弃用。
-
@brogrammer 为什么函数返回 -1 而不是 1?!通常 1 表示真,0 表示假。或 -1 表示小于 0 等于和大于 1。
标签: c c-strings strcmp suffix function-definition