gpt4 book ai didi

c - KERN_INVALID_ADDRESS 让我难住了

转载 作者:行者123 更新时间:2023-11-30 18:59:15 25 4
gpt4 key购买 nike

我在尝试运行调试器时不断收到此错误:

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000000
0x00007fff8c2414f0 in strlen ()

这是我的代码:

#include <stdio.h>
#include <cs50.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
char s2[25];
strcpy(s2, argv[1]);
int keyLen = strlen(s2);
printf("Please enter a string of text to be encrypted!\n");
string p = GetString();
for (int i = 0, n = strlen(p); i < n; i++)
{
if (isupper(p[i])){
int sum = (p[i] - 'A') + (s2[i % keyLen] - 'A');
char c = 'A' + sum%26;
printf("%c", c);
}
}
printf("\n");
printf("%d\n", keyLen);

}

我可以毫无错误地编译代码,并且它可以正常工作。我正在运行调试器以进入 for 循环并查看数学运算以更好地理解它。

最佳答案

如果 GetString() 返回 null,则调用 strlen(null) 将给出此错误。 GetString() 方面的其他错误也可能导致此问题。

关于c - KERN_INVALID_ADDRESS 让我难住了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12976439/

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