进行C语言数组练习的时候,想再试试函数调用,代码粘到函数里后,运行时main里没有执行新函数,也没有警告报错,求大家解惑,不胜感激!
运行结果:
这是源码
#include
#include
void OneDimensionalArray(){
int a[10]={1,2,3,4}; //定义并初始化一个整型数组
float b[20]={1.1,2.2,3.3}; //定义并初始化一个浮点型数组
char c[5]={'a','b','C'}; //定义并初始化一个字符型数组
char d[]={"China"}; //定义并初始化一个字符型数组
for(int i=0;i<5;i++) //输出整型数组a
printf("%-2d ",a[i]);
printf("\n");
for(int i=0;i<5;i++) //输出浮点型数组b
printf("%.2f ",b[i]);
printf("\n");
for(int i=0;i<strlen(c);i++) //输出字符型数组c
printf("%c",c[i]);
printf("\n%s\n",c); //输出字符型数组c
printf("%s\n",d); //输出字符型数组d
printf("%d\n\n",strlen(d)); //输出数组d的长度
}
void TwoDimensionalArray(){
int a[3][4]={1,2,3,4,5,6,7,8,9};
//int a[3][4]={{1,2,3,4},{5,6,7,8},{9}};
for(int i=0;i<3;i++){
for(int j=0;j<4;j++){
printf("%-2d",a[i][j]);
}
printf("\n");
}
}
int main(void){
printf("\n---一维数组练习---\n\n");
void OneDimensionalArray();
printf("---二维数组练习---\n\n");
void TwoDimensionalArray();
return 0;
}
把语法学好吧,调用函数的时候不需要加前面的void
把main函数里面的那个void去掉试试,因为带void等返回值表明是函数声明而不是函数调用,修改如下:
#include <stdio.h>
#include <string.h>
void OneDimensionalArray(){
int a[10]={1,2,3,4}; //定义并初始化一个整型数组
float b[20]={1.1,2.2,3.3}; //定义并初始化一个浮点型数组
char c[5]={'a','b','C'}; //定义并初始化一个字符型数组
char d[]={"China"}; //定义并初始化一个字符型数组
for(int i=0;i<5;i++) //输出整型数组a
printf("%-2d ",a[i]);
printf("\n");
for(int i=0;i<5;i++) //输出浮点型数组b
printf("%.2f ",b[i]);
printf("\n");
for(int i=0;i<strlen(c);i++) //输出字符型数组c
printf("%c",c[i]);
printf("\n%s\n",c); //输出字符型数组c
printf("%s\n",d); //输出字符型数组d
printf("%d\n\n",strlen(d)); //输出数组d的长度
}
void TwoDimensionalArray(){
int a[3][4]={1,2,3,4,5,6,7,8,9};
//int a[3][4]={{1,2,3,4},{5,6,7,8},{9}};
for(int i=0;i<3;i++){
for(int j=0;j<4;j++){
printf("%-2d",a[i][j]);
}
printf("\n");
}
}
int main(void){
printf("\n---一维数组练习---\n\n");
OneDimensionalArray();
printf("---二维数组练习---\n\n");
TwoDimensionalArray();
return 0;
}
在main函数里,调用函数,不能写函数声明的形式,应去掉void字样即可。
把第44行 47行 前面的 void 删除。