gpt4 book ai didi

c - 如何检查命令行参数是否为小写/字母和排序?

转载 作者:行者123 更新时间:2023-11-30 16:41:37 24 4
gpt4 key购买 nike

我对 C 编程真的很陌生(以前做过Python,这是一个相当困难的过渡)。我的任务是检查命令行参数,那些不是小写字母或数字的参数应该用给定的语句打印出来。

我尝试使用 for 循环并尝试检查 islower 中的 argv[i] 但这只会使我的程序崩溃。编译器给出了这个警告:

passing argument 1 of 'islower' makes integer from pointer without a cast

有人可以在不实际输入代码的情况下给出一个大概的想法吗?请不要键入代码,因为我真的很想自己这样做(也可能会因抄袭而陷入麻烦)。

最佳答案

islower() 检查单个字符的大小写,而 argv 是一个 char ** 变量,这意味着 argv [i] 是一个字符串(char *),而不是字符。因此,要检查特定参数是否为小写,您需要迭代其中的字符来检查每个字符。

这也是你提到的警告消息的含义。由于 islower() 的参数是一个 int (单个字符),并且您向它传递一个指针(即 argv[i],它是一个 char *),编译器隐式将该指针转换为 islower() 需要的 int,这很少是预期的行为.

关于c - 如何检查命令行参数是否为小写/字母和排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46188106/

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