gpt4 book ai didi

CS50 PSet 2 : Vigenere cipher Segmentation Fault

转载 作者:行者123 更新时间:2023-11-30 20:24:55 29 4
gpt4 key购买 nike

我是这个主题的新手。我尝试自己调试此问题,但是出现了段错误核心转储,我无法弄清楚原因。有人可以帮我吗?

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

int main(int argc, string argv[])

{
int i, n, no;
string s;
string vige = NULL;
string msg;
s= argv[1];
for (i = 0; n = strlen(s), i < n ; i++)
{
if (argc != 2 || (!isalpha(s[i]) ))
{
printf("Error \n");
return 1;
}

}

printf("Secret message: ");
msg = GetString();

for(i = 0; i < strlen(s) ; i++)
{
if(isupper(s[i]))
{
vige[i] = s[i] - 65;
}
else if(islower(s[i])) {
vige[i] = s[i] - 97;
}
}
for(i = 0; no = strlen(msg), i < no; i++)
{
if(isalpha(msg[i]))
{
if(islower(msg[i]))
{
printf("%c", (msg[i] + (vige[i] % n)) + 97) ;
}
else if(isupper(msg[i]))
{
printf("%c", (msg[i] + (vige[i] % n)) + 65) ;
}
else
{
printf("%c", msg[i]);
}
return 0;
}
}
}

如果还有其他错误,我会自己解决,但段错误超出了我的理解范围。

最佳答案

vige 被初始化为 NULL,但稍后使用索引符号 vige[i] 取消引用,这是一种尝试访问代码不拥有的内存,导致内存违规,从而导致未定义的行为。

关于CS50 PSet 2 : Vigenere cipher Segmentation Fault,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31970588/

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