gpt4 book ai didi

c - 在 C 中将指针与函数一起使用时出现错误

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

首先我很抱歉,这可能是一个简单的问题,但我不太熟悉任何编码。对于此代码,我需要使用指针语法并定义自己的函数来反转字符串。在这种情况下我不允许使用 strlen() 。我尝试过使用指针,但总是遇到以下错误:

incompatible type when assigning to type char[15] from type char

(我必须用 pico 写这个,所以我不太确定它指的是哪个行号。它似乎在我调用 strcmp() 函数的点附近

assignment makes integer from pointer without cast 

(这似乎是当我在函数中或周围定义 s 指针时出现的)

任何和所有帮助/故障排除的想法将不胜感激。我正在使用 gcc 编译器,如果这很重要的话

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

char revcheck(char String[15]);

int main(void)
{
char String[15];

printf("Enter a string: \n");
scanf(" %s", String);

if (strcmp(String, "ENGR-awesome"))
{
printf("That's Right!");
}
else
{
String = revcheck(String);
}

return 0;
}

char revcheck(char String[15])
{
char Letter, *end, *s;
end = strchr(String, '\0');
s = String;
while (end > s)
Letter = &end;
*end = *s;
*s = Letter;
end--;
s++;

return 0;
}

最佳答案

您的revcheck()返回一个char。您正在尝试将其分配给 char[]

您应该让您的 revcheck() 返回一个 char*:

char* revcheck(char String[15]);

关于c - 在 C 中将指针与函数一起使用时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22292876/

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