【发布时间】:2021-12-24 12:59:43
【问题描述】:
编辑:它的工作原理我只是在 '/0' 之前有带有 '/n' 的字符串
您好,我是 C 编程新手,有一个问题: 为什么这不能为在第一个和最后一个位置具有相同字符的字符串获取返回值 1:
function1(char* str){
if(str[0]==str[strlen(str)-1]){
return 1;
}
return 0;
}
编辑:在我的情况下,解决方案是在我的字符串中 \0 之前有一个不可见元素,因此最后一个可视字符具有索引 strlen(str)-2。
【问题讨论】:
-
random_noob,如果
str是""。你对str[0]==str[strlen(str)-1]有什么期望? -
除了极端情况,让它返回一个
int?在我看来像it works -
@chux-ReinstateMonica 我希望用 str[0] 获得字符串的第一个字符,用 str[strlen(str)-1] 获得最后一个字符。这是错的吗?我试过了,它似乎工作。例如,对于 abca,我得到 a 和 a。但是似乎 a != a...
-
random_noob,字符串
""的最后一个字符是什么? -
@yano 好的,现在我真的很困惑,我会仔细检查为什么它在我的代码中不起作用。