gpt4 book ai didi

c - 错误: assigning to 'int' from incompatible type 'void'

转载 作者:行者123 更新时间:2023-11-30 19:05:04 26 4
gpt4 key购买 nike

我正在尝试编写一个函数,该函数将接受一个字符串和一个字符,并返回该字符最后出现的位置的索引。我在编译此问题时遇到问题,如问题标题所示,出现错误:

error: assigning to 'int' from incompatible type 'void'

我尝试将函数的“void”更改为“int”,然后尝试让函数打印结果,但这导致了一组不同的错误。我只是很困惑,因为我的老师总是向我们展示始终以“void”作为返回类型的函数,而这种类型的返回是迄今为止我们类见过的唯一一种。

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


void findLast (char string[], char letter){

int Num[20];
int i;
int count=-1;

for (i=0; i<strlen(string);i++){

if (letter==string[i]){


count=count+1;
Num[count]=i;
}
}

int result=Num[count];

}


int main (void){

char string[20];
char letter;
int result;

printf("Enter your string: ");
scanf("%s", string );

printf("Enter your letter: ");
scanf(" %c", &letter);

result = findLast(string, letter);

printf("%d", result);

return 0;

}

最佳答案

您的代码函数的类型为 void,这意味着没有返回值。只需将函数类型更改为 int 并随结果一起返回即可。

修改后的代码:

int findLast (char string[], char letter){

int Num[20];
int i;
int count=-1;

for (i=0; i<strlen(string);i++){

if (letter==string[i]){


count=count+1;
Num[count]=i;
}
}

int result=Num[count];

return result;

}

关于c - 错误: assigning to 'int' from incompatible type 'void' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50665005/

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