gpt4 book ai didi

c - C 中的不兼容转换错误

转载 作者:行者123 更新时间:2023-11-30 16:51:45 25 4
gpt4 key购买 nike

编译器提示数组中存储的变量类型不兼容。当我尝试将字符从 argv[1] 转换为大写时(第一个 for 循环),就会发生这种情况。类似的错误发生在第二个 for 循环中,我想将字符转换为其 ASCII 等效值并从中减去 64。做什么?

//converts chars in argv[1] to uppercase letters
for (int i = 0, n = strlen(argv[1]); i < n; i++){
argv[i] = toupper(argv[i]);
}

//converts chars in argv[1] to numbers
int key[strlen(argv[1])];
for (int i = 0, n = strlen(argv[1]); i<n; i++){
key[i]= argv[i]-64;

错误消息:

incompatible integer to pointer conversion assigning to 'string' (aka 'char *') from 'int' [-Werror,-Wint-conversion]

incompatible pointer to integer conversion assigning to 'int' from 'string' (aka 'char *') [-Werror,-Wint-conversion]

最佳答案

看来你的意思是

for (int i = 0, n = strlen(argv[1]); i < n; i++){
argv[1][i] = toupper( ( unsigned char )argv[1][i]);
}

//converts chars in argv[1] to numbers
int key[strlen(argv[1])];
for (int i = 0, n = strlen(argv[1]); i<n; i++){
key[i]= argv[1][i]-64;

关于c - C 中的不兼容转换错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41618982/

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