如何解决CS50凯撒分割故障解释
我可以毫无问题地编译此代码,现在的想法是测试在继续之前我可以成功输入密码密钥(命令行参数)而没有任何问题。我没有发现为什么我的代码总是会返回分段错误的运气,然后我看到了在第四行的argv [1]前面加一个'*'的提示,这似乎解决了我所有的问题。有人可以向我解释为什么吗?
np.concatenate()
解决方法
然后我看到了一个提示,在第四行的argv [1]前面加了一个'*',这似乎解决了我所有的问题。有人可以向我解释为什么吗?
这意味着,在您看到该提示之前,它是这样的:
isdigit(argv[1])
您在这里混合类型。
argv
是char*
的数组。这意味着argv[1]
的类型为char*
。
但是isdigit
期望使用int
类型的参数。您应该为此收到一些编译器警告。
该函数期望获得的值在char
或EOF
范围内。传递指针很可能会提供一些超出范围的值。
如果添加*
,则将取消引用char指针,并采用该字符串的第一个字符。这就是isdigit
所期望的,并且可以正常工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。