使用 strcmp 会出现分段错误(cs50 径流问题)

问题描述 投票:0回答:1

在投票功能中,我不明白为什么如果我输入不同的选民姓名,它会给我一个分段错误而不是返回 false。

bool vote(int voter, int rank, string name)
{
    if (strlen(name) > 0)
    {
    for (int i = 0 ; i < voter_count ; i++)
    {

        if (strcmp(candidates[i].name , copy) == 0)
        {
            preferences[voter][rank] = i;
            return true;
        }
    }
    }
    return false;

我检查了相同问题集的其他代码,并且使用相同的代码,他们没有从检查器收到任何错误消息。

c segmentation-fault cs50
1个回答
0
投票

函数中使用变量

copy
表示添加了新的全局变量。这是规范明确禁止的,不会通过
check50

除了

plurality.c
vote
函数的实现(以及包含其他头文件,如果您愿意)之外,您不应修改
print_winner
中的任何其他内容。

© www.soinside.com 2019 - 2024. All rights reserved.