void intput(int *sum) { int i; for(i=0;i<N;i++) { printf("\n请分别输入姓名、昵称、电话号码、邮箱、家庭地址(用英文逗号隔开):\n"); scanf("%s %s %d %s %s",&person[i].name,person[i].pet,person[i].phone,person[i].email,person[i].address); } return; }

时间: 2023-06-27 13:01:44 浏览: 36
这段代码存在一些问题: 1. 函数名应该是`input`而不是`intput`。 2. 函数的参数`sum`没有被使用到,可以删除。 3. 在`scanf`函数中,`phone`应该是一个字符串类型,而不是一个整型。可以改为`%s`,并且在结构体中也应该将`phone`定义为字符数组。 4. 在`scanf`函数中,`&`符号不应该放在`%s`之前,因为字符数组本身就是指针类型,所以只需要写成`scanf("%s %s %s %s %s", person[i].name, person[i].pet, person[i].phone, person[i].email, person[i].address);`即可。 修正后的代码如下: ``` void input() { int i; for(i = 0; i < N; i++) { printf("\n请分别输入姓名、昵称、电话号码、邮箱、家庭地址(用英文逗号隔开):\n"); scanf("%s %s %s %s %s", person[i].name, person[i].pet, person[i].phone, person[i].email, person[i].address); } return; } ```
相关问题

//SHA1.c #include <stdio.h> #include <string.h> #include <Windows.h> void creat_w( char input[64],unsigned long w[80]){ int i,j; unsigned long temp,temp1; for(i=0;i<16;i++){ j=4*i; w[i]=((long)input[j])<<24 |((long)input[1+j])<<16|((long)input[2+j])<<8|((long)input[3+j])<<0; } for(i=16;i<80;i++){ w[i]=w[i-16]^w[i-14]^w[i-8]^w[i-3]; temp=w[i]<<1; temp1=w[i]>>31; w[i]=temp|temp1; } } void ms_len(long a,char intput[64]){ unsigned long temp3,p1; int i,j; temp3=0; p1=~(~temp3<<8); for(i=0;i<4;i++){ j=8*i; intput[63-i]=(char)((a&(p1<<j))>>j); } } int main(){ unsigned long H0=0x67452301,H1=0xefcdab89,H2=0x98badcfe,H3=0x10325476,H4=0xc3d2e1f0; unsigned long A,B,C,D,E,temp,temp1,temp2,temp3,k,f; int i,flag; unsigned long w[80]; char input[64]; long x;int n; printf("输入明文:"); scanf("%s",input); n=strlen(input); if(n<57){ x=n*8; ms_len(x,input); if(n==56){ for(i=n;i<60;i++) input[i]=0; } else{ input[n]=128; for(i=n+1;i<60;i++) input[i]=0; } } creat_w(input,w); /*for(i=0;i<80;i++) printf("%lx,",w[i]);*/ printf("\n"); A=H0;B=H1;C=H2;D=H3;E=H4; for(i=1;i < 80;i++){ flag=i/20; switch(flag){ case 0: k=0x5a827999;f=(B&C)|(~B&D);break; case 1: k=0x6ed9eba1;f=B^C^D;break; case 2: k=0x8f1bbcdc;f=(B&C)|(B&D)|(C&D);break; case 3: k=0xca62c1d6;f=B^C^D;break; } /*printf("%lx,%lx\n",k,f); */ temp1=A<<5; temp2=A>>27; temp3=temp1|temp2; temp=temp3+f+E+w[i]+k; E=D; D=C; temp1=B<<30; temp2=B>>2; C=temp1|temp2; B=A; A=temp; printf("第%d步:",i+1); printf("A = %lx,B = %lx,C = %lx,D = %lx,E = %lx\n",A,B,C,D,E); } H0=H0+A; H1=H1+B; H2=H2+C; H3=H3+D; H4=H4+E; printf("\n哈希值:\n"); printf("%lx%lx%lx%lx%lx\n",H0,H1,H2,H3,H4); system("pause"); }写出这段代码每一行的意思

这段代码实现了一个 SHA-1 哈希算法。以下是每一行代码的意思: ```C #include <stdio.h> // 引入头文件 #include <string.h> #include <Windows.h> void creat_w(char input[64], unsigned long w[80]) { // 定义函数 creat_w,用于生成 w 数组 int i, j; unsigned long temp, temp1; for (i = 0; i < 16; i++) { // 将 input 依次转为 w 数组 j = 4 * i; w[i] = ((long)input[j]) << 24 | ((long)input[1 + j]) << 16 | ((long)input[2 + j]) << 8 | ((long)input[3 + j]) << 0; } for (i = 16; i < 80; i++) { // 用 w 数组中的元素生成后面的 64 个元素 w[i] = w[i - 16] ^ w[i - 14] ^ w[i - 8] ^ w[i - 3]; temp = w[i] << 1; temp1 = w[i] >> 31; w[i] = temp | temp1; } } void ms_len(long a, char intput[64]) { // 将 long 类型 a 转为 char 类型的字符串 unsigned long temp3, p1; int i, j; temp3 = 0; p1 = ~(~temp3 << 8); for (i = 0; i < 4; i++) { j = 8 * i; intput[63 - i] = (char)((a & (p1 << j)) >> j); } } int main() { // 主函数 unsigned long H0 = 0x67452301, H1 = 0xefcdab89, H2 = 0x98badcfe, H3 = 0x10325476, H4 = 0xc3d2e1f0; // 初始值 unsigned long A, B, C, D, E, temp, temp1, temp2, temp3, k, f; int i, flag; unsigned long w[80]; char input[64]; long x; int n; printf("输入明文:"); // 输入明文 scanf("%s", input); n = strlen(input); if (n < 57) { // 填充 x = n * 8; ms_len(x, input); if (n == 56) { for (i = n; i < 60; i++) input[i] = 0; } else { input[n] = 128; for (i = n + 1; i < 60; i++) input[i] = 0; } } creat_w(input, w); // 生成 w 数组 A = H0; B = H1; C = H2; D = H3; E = H4; for (i = 1; i < 80; i++) { // 迭代计算 flag = i / 20; switch (flag) { case 0: k = 0x5a827999; f = (B&C) | (~B&D); break; case 1: k = 0x6ed9eba1; f = B^C^D; break; case 2: k = 0x8f1bbcdc; f = (B&C) | (B&D) | (C&D); break; case 3: k = 0xca62c1d6; f = B^C^D; break; } temp1 = A << 5; temp2 = A >> 27; temp3 = temp1 | temp2; temp = temp3 + f + E + w[i] + k; E = D; D = C; temp1 = B << 30; temp2 = B >> 2; C = temp1 | temp2; B = A; A = temp; printf("第%d步:", i + 1); printf("A = %lx,B = %lx,C = %lx,D = %lx,E = %lx\n", A, B, C, D, E); } H0 = H0 + A; H1 = H1 + B; H2 = H2 + C; H3 = H3 + D; H4 = H4 + E; printf("\n哈希值:\n"); // 输出哈希值 printf("%lx%lx%lx%lx%lx\n", H0, H1, H2, H3, H4); system("pause"); } ```

#include<stdio.h> #define N 2 void intput(int *); void output(); void change(); void select(); struct people { int bno[N],phone[N];//编号,电话号码 char name[N],email[N],address[N],pet[N];//名字,邮箱,家庭地址,昵称 }people[N]; struct people person[20]; int main() { int a=0,b,sum=0; while(a==0) { printf("------欢迎来到通讯录系统!----------\n"); printf("输入“1”添加联系人,输入“2”删除联系人,输入“3”更改联系人,"); printf(" 输入“4”显示已有联系人,输入“5”退出系统。\n"); scanf("%d",&b); if(b==1) { intput(&sum); } if(b==2) { } if(b==3) { } return 0; } void intput(int *sum) { int i; for(i=0;i<N;i++) { printf("\n请分别输入姓名、昵称、电话号码、邮箱、家庭地址(用英文逗号隔开):\n"); scanf("%s %s %d %s %s",&person[i].name,person[i].pet,person[i].phone,person[i].email,person[i].address); } }

这段代码是一个简单的通讯录系统,包含添加联系人、删除联系人、更改联系人和显示已有联系人等功能。其中,使用了结构体来存储每个联系人的信息,包括编号、姓名、昵称、电话号码、邮箱和家庭地址等。 在主函数中,使用了一个while循环来不断接收用户输入的操作选项,根据不同的选项调用不同的函数来完成相应的功能。其中,intput函数用于添加联系人,它使用了指针来记录已有联系人的数量,每次添加联系人时将其信息存储到person结构体数组中,并将已有联系人数量加1。 需要注意的是,这段代码中存在一些问题,比如删除联系人、更改联系人等功能并未实现,而且数据存储方式也不太合理。如果你想进一步完善这个通讯录系统,可以考虑使用链表来存储联系人信息,同时完善删除联系人、更改联系人等功能的实现。

相关推荐

最新推荐

recommend-type

汇编实验-电话号码查询器

b) 调用子程序intput_name接受人名; c) 调用子程序store_name把人名存入电话号码表tel_tab中; d) 显示提示符‘Input a telephone number:’; e) 调用子程序input_phone接受电话号码,拨那个存入电话号码表...
recommend-type

VB学生档案管理系统设计与实现.rar

计算机专业毕业设计VB精品论文资源
recommend-type

debugpy-1.6.3-cp37-cp37m-win_amd64.whl

Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
recommend-type

基于ssm的学生宿舍报修管理系统

开发语言:Java JDK版本:JDK1.8(或11) 服务器:tomcat 数据库:mysql 5.6/5.7(或8.0) 数据库工具:Navicat 开发软件:idea 依赖管理包:Maven 代码+数据库保证完整可用,可提供远程调试并指导运行服务(额外付费)~ 如果对系统的中的某些部分感到不合适可提供修改服务,比如题目、界面、功能等等... 声明: 1.项目已经调试过,完美运行 2.需要远程帮忙部署项目,需要额外付费 3.本项目有演示视频,如果需要观看,请联系我v:19306446185 4.调试过程中可帮忙安装IDEA,eclipse,MySQL,JDK,Tomcat等软件 重点: 需要其他Java源码联系我,更多源码任你选,你想要的源码我都有! https://img-blog.csdnimg.cn/direct/e73dc0ac8d27434b86d886db5a438c71.jpeg
recommend-type

cryptography-42.0.1-cp37-abi3-musllinux_1_1_x86_64.whl

Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB柱状图在信号处理中的应用:可视化信号特征和频谱分析

![matlab画柱状图](https://img-blog.csdnimg.cn/3f32348f1c9c4481a6f5931993732f97.png) # 1. MATLAB柱状图概述** MATLAB柱状图是一种图形化工具,用于可视化数据中不同类别或组的分布情况。它通过绘制垂直条形来表示每个类别或组中的数据值。柱状图在信号处理中广泛用于可视化信号特征和进行频谱分析。 柱状图的优点在于其简单易懂,能够直观地展示数据分布。在信号处理中,柱状图可以帮助工程师识别信号中的模式、趋势和异常情况,从而为信号分析和处理提供有价值的见解。 # 2. 柱状图在信号处理中的应用 柱状图在信号处理
recommend-type

用Spring boot和vue写一个登录注册界面

好的,这是一个比较常见的技术问题,我可以为您提供一些参考资料和思路。首先,您可以使用Spring Boot作为后端框架来处理用户认证和注册的逻辑,比如使用Spring Security实现用户登录认证。同时,您还需要设计相应的数据模型和数据库表结构来存储用户信息。在前端方面,您可以使用Vue.js作为框架来构建登录注册页面,使用Axios来发起API请求并和后端进行交互。当然,在实现过程中,还需要考虑一些具体细节,比如数据校验、安全性和用户体验等方面。希望这些信息能够帮助到您。
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。