-2
我收到如下警告消息:预期为'int *',但参数为'int **'类型 以下是我的代码:* expected'int *'but argument is of type'int **'*警告c
#include<string.h>
#include<stdio.h>
#define MAX_DL_SLOWA 30
void szyfr(char oryginalne[MAX_DL_SLOWA], int* dlugosc, int zaszyfrowane[MAX_DL_SLOWA+1]) {
int i, j;
*dlugosc = strlen(oryginalne);
for (i = 0; i < *dlugosc; i++) {
if (i < *dlugosc-1){
j = i + 1;
}else{
j = i + 1 - *dlugosc;
}
zaszyfrowane[i] = (int)oryginalne[j] - (int)'a';
}
}
void main(){
char slowo[MAX_DL_SLOWA];
int* dlugosc;
int kod[MAX_DL_SLOWA+1],i;
//Wczytanie i szyfrowanie
printf("Podaj slowo: ");
scanf("%s",&slowo);
printf("\nTwoje slowo: %s",slowo);
szyfr(slowo, &dlugosc, kod);
printf("\nTwoj kod: %s",kod);
}
我正在那里我打电话szyfr法& dlugosc作为ARG此验证线。 任何人有任何想法,我怎么可以改变,使其工作没有警告?
'int * dlugosc;' - >'int dlugosc;' – BLUEPIXY
你不能在需要'int *'的地方传递'int **'参数吗? – immibis
警告看起来很清楚。如果你能解释你不明白的警告部分,那将是一件好事。 – kaylum