#include <stdio.h>
#include <string.h>
void letter(char x[20], char y[20])
{
int n=strlen(x);
int j;
for (int i=0, j=0; i<n; i++){
if(x[i]=='a'||x[i]=='e'||x[i]=='i'||x[i]=='o'||x[i]=='u'||x[i]=='A'||x[i]=='E'||x[i]=='I'||x[i]=='O'||x[i]=='U'){
y[j]=x[i];
j++;
}
}
int main(){
char a[20], b[20];
gets(a);
letter(a, b);
puts(b);
return 0;
}
13 11 C:\Users\Administrator\Desktop\c\2.6\元音字母2.cpp [Error] a function-definition is not allowed here before '{' token
19 1 C:\Users\Administrator\Desktop\c\2.6\元音字母2.cpp [Error] expected '}' at end of input
uj5u.com熱心網友回復:
花括號要成對,提示少了}很明顯,把代碼打好,就會發現少了一個},補上就是。
void letter(char x[20], char y[20])
{
int n=strlen(x);
int j;
for (int i=0, j=0; i<n; i++)
{
if(x[i]=='a'||x[i]=='e'||x[i]=='i'||x[i]=='o'||x[i]=='u'||x[i]=='A'||x[i]=='E'||x[i]=='I'||x[i]=='O'||x[i]=='U')
{
y[j]=x[i];
j++;
}
}
看到少了一個}
uj5u.com熱心網友回復:
#include <stdio.h>#include <string.h>
void letter(char x[20], char y[20])
{
int n=strlen(x);
int i, j;
for ( i=0, j=0; i<n; i++){
if(x[i]=='a'||x[i]=='e'||x[i]=='i'||x[i]=='o'||x[i]=='u'||x[i]=='A' ||x[i]=='E'||x[i]=='I'||x[i]=='O'||x[i]=='U'){
y[j]=x[i];
j++;
}
}
y[j]='\0';
}
int main(){
char a[20], b[20];
gets(a);
letter(a, b);
puts(b);
return 0;
}
除了letter函式少了一個花括號不匹配外
for(int I=0, j=0; 這里會把j當成重新定義的區域變數
y陣列最后別忘記了用0結束字串,否則主函式的puts(b)沒準輸出什么
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/113091.html
標籤:C++ 語言
下一篇:尾插法輸出結果缺少一個,怎么修改
