C语言写一个函数,输入一个字符串,判断它里面是不是C语言调用函数的样式,用1、0表示是和否,并返回函数名及参数
时间: 2023-02-12 07:25:42 浏览: 115
C语言调用函数的样式为"函数名(参数1, 参数2, ...)"。
以下是一个示例的C语言函数:
```
#include <stdio.h>
#include <string.h>
int is_function_call(char *str, char *func_name, char *params) {
int i, j, k;
int len = strlen(str);
// 初始化函数名和参数字符串
memset(func_name, 0, sizeof(func_name));
memset(params, 0, sizeof(params));
// 判断是否是函数调用
for (i = 0; i < len; i++) {
if (str[i] == '(') {
// 拷贝函数名
for (j = 0; j < i; j++) {
func_name[j] = str[j];
}
// 拷贝参数
for (j = i + 1, k = 0; j < len; j++) {
if (str[j] == ')') {
break;
}
params[k++] = str[j];
}
return 1;
}
}
return 0;
}
int main() {
char str[100] = "printf(\"Hello, world!\");";
char func_name[100];
char params[100];
if (is_function_call(str, func_name, params)) {
printf("函数名:%s\n", func_name);
printf("参数:%s\n", params);
} else {
printf("不是函数调用\n");
}
return 0;
}
```
以上代码中,is_function_call函数接受三个参数:
- char *str:输入的字符串
- char *func_name:用于存储函数名
- char *params:用于存储函数参数
该函数返回值为1表示是函数调用,0表示不是。如果是函数调用,函数名和参数将会存储在func_name和params中。
阅读全文