CS50凯撒分割故障解释

问题描述

我可以毫无问题地编译此代码,现在的想法是测试在继续之前我可以成功输入密码密钥(命令行参数)而没有任何问题。我没有发现为什么我的代码总是会返回分段错误的运气,然后我看到了在第四行的argv [1]前面加一个'*'的提示,这似乎解决了我所有的问题。有人可以向我解释为什么吗?

np.concatenate()

解决方法

然后我看到了一个提示,在第四行的argv [1]前面加了一个'*',这似乎解决了我所有的问题。有人可以向我解释为什么吗?

这意味着,在您看到该提示之前,它是这样的:

isdigit(argv[1])

您在这里混合类型。

argvchar*的数组。这意味着argv[1]的类型为char*。 但是isdigit期望使用int类型的参数。您应该为此收到一些编译器警告。 该函数期望获得的值在charEOF范围内。传递指针很可能会提供一些超出范围的值。

如果添加*,则将取消引用char指针,并采用该字符串的第一个字符。这就是isdigit所期望的,并且可以正常工作。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...