gpt4 book ai didi

条件表达式。大写转小写

转载 作者:行者123 更新时间:2023-11-30 20:14:45 25 4
gpt4 key购买 nike

以下代码有效:

int convert(int s){
int result = 0;
result = (s >= 97 && s <= 122)? s -32 : s+32;
return result;
}

但是,由于函数内部使用了 s 的副本,您能否将函数更改为以下内容?

int convert(int s){
(s >= 97 && s <= 122)? s -= 32 : s += 32;
return s;
}

是否可以像我一样在条件表达式中赋值?

最佳答案

是的,这是允许的,因为您正在编辑 s 的本地副本。请参阅此处的实例:

试试这个:

int convert(int s){
(s >= 97 && s <= 122)? (s -= 32) : (s += 32);
return s;
}

int main(void) {

int val = 10, val2;
val2 = convert(val);
printf("%d %d\n", val, val2);
return 0;
}

这是一个活生生的例子。

http://ideone.com/5aJcOv

当然,您应该将 touppertolowerisupperislower 结合使用来更改大小写ascii 字符的个数:

#include <ctype.h>
char toggleCase(char c)
{
if (c >= 'a') { // Check that it is a letter
if (isupper(c)) return tolower(c); //Convert it
return toupper(c);
}
return c; // Otherwise dont
}

关于条件表达式。大写转小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24624129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com