gpt4 book ai didi

c - 将字符串作为 case 条件传递

转载 作者:行者123 更新时间:2023-11-30 19:34:44 25 4
gpt4 key购买 nike

在C语言中,是否可以在switch case中传递字符串作为case条件?如果可以的话,能否实现AI(人工智能)?

最佳答案

Is it possible to pass string as a case condition in switch case?

否 - switch 语句仅对整数值进行操作; case 标签必须是常量整型表达式。您必须通过使用哈希函数或查找表或其他方式将字符串映射到整数值。

#define MAX_LEN 80 // or however long you need
#define HELLO_STRING <em>some-integer-value</em>
#define GOODBYE_STRING <em>some-other-integer-value</em>
#define NO_MAPPING 0

int mapToInteger( const char * str )
{
int mapValue = NO_MAPPING;

/**
* logic to map string to integer
*/
return mapValue;
}

int main( void )
{
char inputString[MAX_LEN];
...
while ( fgets( inputString, sizeof inputString, stdin ) )
{
switch( mapToInteger( inputString ) )
{
case HELLO_STRING:
process_hello();
break;

case GOODBYE_STRING:
process_goodbye();
break;

default:
case NO_MAPPING:
i_dont_understand();
break;
}
}
}

大小写或空格重要吗?换句话说,“这是一个测试”“这是一个测试”“tHiS iS a TeSt” 都应该给出相同的结果结果?如果是这样,那么您的 mapToInteger 函数(或您决定调用它的任何名称)将必须考虑所有这些。

If possible, can AI (Artificial Intelligence) be achieved?

这在编程中相当于问:“如果我可以用锤子将两 block 木头钉在一起,我可以 build 一个公寓大楼吗?”是的,当然,但是您还需要做很多其他事情。

关于c - 将字符串作为 case 条件传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43497769/

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