包含字符串和浮点数的函数,我从 main 调用它.但是错误



我是新手,我只是写一个函数并从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)来解决问题。

最新更新