我是新手,我只是写一个函数并从main调用它。但错误返回。
我试过编译它,但错误
#include <stdio.h>
void data(char name, char address,float
salary);
int main()
{
char name[] = "john";
char address[] = "london";
float salary=10000000;
data(name,address,salary);
return 0;
}
void data(char name,char address,float salary)
{
printf("Name : %sn",name);
printf("Address : %sn",address);
printf("Salary : %lfn",salary);
}
一些我不明白的警告信息。 我认为它应该有效。这是怎么回事?
您向数据函数传递一个字符(字符串(数组,但在函数声明中初始化它们以接收 char 变量。
应将声明更改为:
void data (char name[], char address[], float salary)
或:
void data (char *name, char *address, float salary)
void data(char name, char address, float salary)
在传递 char[] 类型时需要名称和地址的char
类型。
在void data(char name, char address, float salary)
中,%s 需要来自名称和地址的字符串,但这些只有 1 个字符,没有空字符表示字符串的结尾。
更改为void data(char *name, char *address, float salary)
来解决问题。