Eld*_*dar 1 c parameter-passing pass-by-reference
我正在尝试给结构的char变量分配一个字母,但是我得到了垃圾输出,我不知道为什么这样一个简单的代码不起作用。我在互联网上找不到任何答案
我已经使用strcpy或只是使用,scanf但它不起作用。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct test
{
int age;
char name[15];
};
void reg(struct test a)
{
//scanf("%s",&a.name);
//strcpy(a.name,"Eldar");
}
int main()
{
struct test el,*elp;
elp=⪙
reg(el);
printf("%s",el.name);
}
Run Code Online (Sandbox Code Playgroud)
我收到一个奇怪的符号,但没有收到我的信
您正在按值传递结构。要在函数中更改结构,您需要传递结构的地址。请参见下面的代码。
void reg(struct test *a)
{
scanf("%s",a->name);
}
int main()
{
struct test el,*elp;
elp=⪙
reg(elp); // or reg(&el);
printf("%s",el.name);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
50 次 |
| 最近记录: |