#include<stdio.h>
void check_alphabets(char array_string[],int n){
char alphabet_array[n];
int i,j,val;
int alphabet_array_counter=0;
for(i=0;i<n;i++){
val=array_string[i];
if((val>=65 && val<=90) || (val>=97 && val<=122)){
alphabet_array[alphabet_array_counter]=array_string[i];
alphabet_array_counter++;
}
}
for(j=0;j<n;j++){
printf("%c",alphabet_array[j]);
}
}
void check_number(char array_string[],int n){
char number_array[n];
int i,j,val;
int number_array_counter=0;
for(i=0;i<n;i++){
val=array_string[i];
if(val>=30 && val<=39){
number_array[number_array_counter]=array_string[i];
number_array_counter++;
}
}
for(j=0;j<n;j++){
printf("%c",number_array[j]);
}
}
void check_character(char array_string[],int n){
char character_array[n];
int i,j,val;
int character_array_counter=0;
for(i=0;i<n;i++){
val=array_string[i];
if((val>=32 && val<=47) || (val>=58 && val<=64) || (val>=91 && val<=96) || (val>=123 && val<=127)){
character_array[character_array_counter]=array_string[i];
character_array_counter++;
}
}
for(j=0;j<n;j++){
printf("%c",character_array[j]);
}
}
void main(){
int size=100;
char array_string[size];
printf("Enter string? ");
scanf("%s",array_string);
int i=0,count=0;
while(array_string[i]!='\0'){
count++;
i++;
}
printf("size is %d",count);
void check_alphabets(array_string,count);
void check_number(array_string,count);
void check_character(array_string,count);
}
我有上面的代码。我不知道这是怎么回事。无论我修改了什么,这些功能都没有执行。 我正在Ubuntu 18中使用gcc进行编译。 但是,每当我尝试编译时,它都会引发警告
在功能
中的参数名称(无类型)main
中
警告:函数声明void check_alphabets(array_string,count)
此警告与main发出的所有呼叫一起显示。 我用谷歌搜索,但找不到任何解决方案。
答案 0 :(得分:3)
这些不是函数调用:
range(..)
这些是声明。函数名称前面的返回类型告诉我们这是一个声明。调用函数时,无需说返回类型是什么:
void check_alphabets(array_string,count);
void check_number(array_string,count);
void check_character(array_string,count);
答案 1 :(得分:1)
check_alphabets(array_string,count);
check_number(array_string,count);
check_character(array_string,count);
这些行不是函数调用。你的意思
void check_alphabets(array_string,count);
void check_number(array_string,count);
void check_character(array_string,count);
得到的警告是因为编译器认为您正在尝试声明一个函数,但是语法是无效的函数声明(无类型的参数名称)
答案 2 :(得分:0)
首先,您必须学习如何使用Markdown正确格式化代码。其次,您不是在main
中调用函数,而只是在声明它们。
void check_alphabets(array_string,count);
void check_number(array_string,count);
void check_character(array_string,count);
必须成为
check_alphabets(array_string,count);
check_number(array_string,count);
check_character(array_string,count);