注释这行代码int cx(char name[],struct lxr lxrm[100],int z){ int u=0; for(int i=0;i<z;i++){ if(strcmp(name,lxrm[i].name)==0){ printf("| %s\t| %s\t| %s\t| %s\t| %s\t| %d-%d-%d\t\n",lxrm[i].name,lxrm[i].xb,lxrm[i].dz,lxrm[i].dh,lxrm[i].qq,lxrm[i].s.year,lxrm[i].s.month,lxrm[i].s.day); u=1; } } if(u=0) return 1; }
时间: 2024-03-26 09:36:55 浏览: 26
这是一个函数,函数名为cx,它有三个参数:一个字符数组name、一个结构体数组lxrm、一个整数z。这个函数的作用是在结构体数组lxrm中查找name所对应的结构体,并将其信息输出到屏幕上。如果找到了对应的结构体,则返回0;否则返回1。在函数中,首先将一个整型变量u初始化为0,然后通过for循环遍历结构体数组lxrm,如果找到了name对应的结构体,则将u赋值为1,并使用printf函数将该结构体中的信息输出到屏幕上。最后,如果u的值仍为0,则说明在结构体数组中没有找到对应的结构体,此时返回1。需要注意的是,在if语句中判断u是否为0时,应该使用"=="而不是"="。
相关问题
这是定义结构体的代码struct Node { int len=0; char ch[16]; };
在 C 语言中,结构体的成员变量不能在定义时初始化,必须在结构体变量声明时或在代码中赋值。因此,您的代码中的初始化是不合法的,会导致编译错误。
如果您想要在定义结构体时初始化成员变量,您可以考虑使用 C++ 语言中的结构体。在 C++ 中,可以在结构体定义中使用成员变量初始化。例如:
```cpp
struct Node {
int len = 0;
char ch[16] = {};
};
```
这样定义的结构体在 C++ 中是合法的,可以使用成员变量初始化。
如果您想要在 C 语言中初始化结构体成员变量,您可以在声明结构体变量时或在代码中为其赋值。例如:
```c
struct Node {
int len;
char ch[16];
};
int main() {
struct Node node = {0, ""}; // 声明结构体变量并初始化成员变量
node.len = 10; // 在代码中为成员变量赋值
strcpy(node.ch, "hello");
return 0;
}
```
这样定义的结构体在 C 语言中是合法的。
解释这行代码int sc(struct lxr lxrm[100],int z){ int e=0; char t; char name[20]; printf("想要删除的联系人姓名:"); scanf("%s",name); for(int i=0;i<z;){ if(strcmp(name,lxrm[i].name)==0){ printf("| %s\t| %s\t| %s\t| %s\t| %s\t| %d-%d-%d\t\n",lxrm[i].name,lxrm[i].xb,lxrm[i].dz,lxrm[i].dh,lxrm[i].qq,lxrm[i].s.year,lxrm[i].s.month,lxrm[i].s.day); printf("是否删除此联系人(y):"); fflush(stdin); t=getchar(); fflush(stdin); if(t=='y'){ printf("删除成功!\n\n"); e++; for(int j=i;j<=z;j++){ lxrm[j]=lxrm[j+1]; } z=z-1; continue; } } i++; } return z; }
这段代码定义了一个名为`sc`的函数,其返回值为整型,接受两个参数:一个名为`lxrm`的结构体数组和一个整型变量`z`。该函数的作用是从指定的结构体数组`lxrm`中删除指定姓名的联系人信息,并返回更新后的联系人数量`z`。
具体实现过程是:
1. 定义整型变量`e`并赋值为0,用于统计删除成功的联系人数量。
2. 定义字符型变量`t`和字符型数组`name`,并通过用户输入获得想要删除的联系人姓名。
3. 使用`for`循环遍历结构体数组`lxrm`,判断每一个联系人的姓名是否与输入的姓名相同。
4. 如果找到了指定姓名的联系人,则输出该联系人的所有信息,并提示用户是否删除该联系人。
5. 如果用户输入了`y`,则将该联系人信息从数组中删除,并将该联系人数量`z`减1,设置`e`自增1。
6. 继续遍历下一个联系人,直到遍历完整个数组。
7. 返回更新后的联系人数量`z`。
注意,该函数在删除联系人时是通过将后面的联系人依次往前移动实现的,因此在删除联系人后,后面的联系人信息将会往前移动一个位置,数组长度会减1。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)