qq_43391736 2022-07-26 15:12 采纳率: 40%
浏览 102
已结题

错误 C2143 语法错误: 缺少“;”(在“{”的前面)

问题遇到的现象和发生背景

img

问题相关代码,请勿粘贴截图
#include <stdio.h>
#include <initializer_list>
#include <stdint.h>

typedef unsigned int uint32;
uint32 seed_temp_level1 = 0;
uint32 key_temp_level1 = 0;
uint32 seed_temp_level2 = 0;
uint32 key_temp_level2 = 0;
int seed[4];
char key[4];
char k[4];

uint32 OBDII_ComputeKey_Function1((uint32)seed_temp_level1)
{
    uint32 seedtemp1 = seed;
    uint32 seedtemp2 = ~seed;
    uint32 sum = 0, delta = 0x0ab16000;
    k[0] = 0x4c495551;
    k[1] = 0x49534545;
    k[2] = 0x444b4559;
    k[3] = 0x414c474f;
    for (int i = 0;i < 2;i++)
    {
        seedtemp1 += (((seedtemp2 << 4) ^ (seedtemp2 >> 5)) + seedtemp2) ^ (sum + k[sum & 3]);
        sum += delta;
        seedtemp2 += (((seedtemp1 << 4) ^ (seedtemp1 >> 5)) + seedtemp1) ^ (sum + k[(sum >> 11) & 3]);
    }

    key = seedtemp1;
    return key;
}

void main() {
    for (int i = 0;i < 4;i++) scanf("%x", &seed[i]);
    seed_temp_level1 = (seed[3]) + (seed[2] * 256) + (seed[1] * 65536) + (seed[0] * 16777216);
    key_temp_level1 = OBDII_ComputeKey_Function1(seed_temp_level1);
    key[0] = (key_temp_level1 >> 24) & 0xFF;
    key[1] = (key_temp_level1 >> 16) & 0xFF;
    key[2] = (key_temp_level1 >> 8) & 0xFF;
    key[3] = (key_temp_level1) & 0xFF;
}



我的解答思路和尝试过的方法

格式已经用notepad刷过,还是有问题

  • 写回答

5条回答 默认 最新

  • 快乐鹦鹉 2022-07-26 15:18
    关注

    14行 uint32 OBDII_ComputeKey_Function1((uint32)seed_temp_level1)
    改为
    uint32 OBDII_ComputeKey_Function1(uint32 seed_temp_level1)
    函数定义中是声明变量类型,你写成强制转换了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 8月3日
  • 已采纳回答 7月26日
  • 创建了问题 7月26日

悬赏问题

  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价
  • ¥15 在anaconda上pytorch和paddle paddle下载报错
  • ¥25 自动填写QQ腾讯文档收集表