对不起,我编译代码时遇到问题,我不知道如何解决它,因为我不知道它的要求。
这在终端显示我:
“usr / lib / gcc / x86_64-linux-gnu / 4.9 /../../../ x86_64-linux-gnu / crt1.o:在functión_start':
/build/buildd/glibc-2.21/csu/../sysdeps/x86_64/start.S:114: reference to
main'中没有定义
collect2:错误:ld返回1退出状态
“
我留下我的代码:
#include<stdio.h>
#include<string.h>
void calcular_vocal(char cadena[]){
int l;
char vocales[5]="a,e,i,o,u";
int i, vector contadores[5];
l=strlen(cadena);
for(i=0;i<l;i++){
if(cadena[i] =='a')
cadena a++;
vector contadores[0]++;
if(cadena[i] =='e')
cadena e++;
vector contadores[1]++;;
if(cadena[i] == 'i')
cadena i++;
vector contadores[2]++;
if(cadena[i] =='o')
cadena o++;
vector contadores[3]++;
if(cadena[i] =='u')
cadena u++;
vector contadores[4]++;
for(i=0;i<5;i++){
int max,pos;
if(vector contadores[i]>max){
max = vector contadores [i];
pos = i;
}
}
printf("The most repeated vocal is %c %d",vocales[pos],max);
}
}
int main (void){
char calcular_vocal(char[]);
}
答案 0 :(得分:0)
<强>更新强>
好像你正在编译错误的文件。请参阅以下控制台命令和输出(它的德语,但我认为该消息与您的信息非常相似):
$ rm test1.c
$ touch test1.c
$ gcc test1.c
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crt1.o: In Funktion `_start':
(.text+0x20): Nicht definierter Verweis auf `main'
collect2: error: ld returned 1 exit status
$
长话短说:你编译错误的文件(可能是一个空文件),因此你得到的错误信息与你的任何代码完全无关。
原始答案
我会假设你的代码有一些东西,以便为你提供一个可编译代码的答案 - 运行程序的结果是否意味着任何事情取决于你(说实话,我故意建议不会给你最想要的程序的变化,因为你需要学习一些东西。)
我从你的主要功能开始
int main (void){
char calcular_vocal(char[]);
}
你在main函数中做的是编写calcular_vocal
函数的声明,但函数签名与实际实现不同。将其更改为void calcular_vocal(char[]);
以使此部分可编辑。
现在转到calcular_vocal
函数中的代码:
不允许使用行char vocales[5]="a,e,i,o,u";
,因为数组的字符串大小很大。将数组大小增加到9或10,以便有足够的可用空间:char vocales[9] = "a,e,i,o,u";
继续行int i, vector contadores[5];
,假设您想要一个名为&#34; vector contadores&#34;的变量。您的变量名称中不能包含空格,因此请将其重命名为&#34; vector_contadores&#34;为了使这件作品能够发挥作用。
转到所有if语句。它们都是一样的,所以我只写一些关于第一个的东西。代码cadena a++;
无效。您有多种方法可以解决这个问题。 (1)从该代码(a
)中删除cadena++;
。 (2)为a
定义整数变量,并从代码(cadena
)中删除a++;
。 (3)重写为cadena['a']++;
。还有更多选项可以使这部分可编译。
变量int max,pos;
在for循环中定义,但在外部使用。将其定义移动到函数的顶部,您可以在其中定义其他变量。另外,使用值max
初始化-1
。
这应该是编译这段代码所需的全部内容(除非我忘记了)