C++ 函数返回值在数组中的位置(C+;+;,Splashkit)
因此,我设计了一个数组,用户在其中输入五个名称,终端将打印这些名称并识别最长的名称。我现在尝试引入一个函数,用户在其中输入一个名称,如果该名称在数组中,则打印该名称的位置(如果不存在该名称,则打印-1)。我使用的是Splashkit库,它有点不同。我试过几种不同的变体,但到目前为止运气不好。这就是我所拥有的C++ 函数返回值在数组中的位置(C+;+;,Splashkit),c++,arrays,C++,Arrays,因此,我设计了一个数组,用户在其中输入五个名称,终端将打印这些名称并识别最长的名称。我现在尝试引入一个函数,用户在其中输入一个名称,如果该名称在数组中,则打印该名称的位置(如果不存在该名称,则打印-1)。我使用的是Splashkit库,它有点不同。我试过几种不同的变体,但到目前为止运气不好。这就是我所拥有的 int index_of(string value, string names[], int size) { value = read_string("Enter name
int index_of(string value, string names[], int size)
{
value = read_string("Enter name to find index: ");
for(int i = 0; i < size; i++)
{
if ((names[i]) == string(value))
{
return i;
write_line("The index is: ");
write(i);
}
}
return -1;
}
int索引_of(字符串值、字符串名称[]、int大小)
{
value=read_字符串(“输入名称以查找索引:”);
对于(int i=0;i
它编译得很好,但就是不起作用,即使我在main中调用它。有人有什么想法吗?谢谢:)
intmain()
{
#定义尺寸5
字符串名称[大小];
int i;
i=0;
而(i
我认为这些行写行(“索引是:”);编写(i)代码>无效,因为返回在它们之前。试一试
write_line("The index is: ");
write(i);
return i;
您是在write\u line()
和write()
之前从函数返回的。我认为这是错误的。也可以提供调用index_of()
的代码片段吗?嗨,Kuro,所以它在我的main末尾,我只有“int index_of(int-value,string-names[],int-size);”然后你可以粘贴main()
吗?更新了描述:)在你的代码中你没有调用函数index_of()
。您可能需要将main()
返回之前的行更改为int index=index\u of({},name,SIZE)
。另外,我认为您不需要index_of()
中的值作为参数。嘿,我试过了,但没什么区别:/n然后请将您面临的确切输出和错误发送给我。
write_line("The index is: ");
write(i);
return i;