作业社区
探索学习新天地,共享知识资源!
浪潮君 的学生作业:
// add.h #ifndef ADD_H #define ADD_H int add(int a, int b); int sub(int a, int b); int mul(int a, int b); int divide(int a, int b); // 简单除法(不处理除零) #endif // add.c #include "add.h" int add(int a, int b) { return a + b; } int sub(int a, int b) { return a - b; } int mul(int a, int b) { return a * b; } int divide(int a, int b) { return b != 0 ? a / b : 0; // 简单处理除零 } // main.c #include #include "add.h" int main() { int a = 12, b = 4; printf("Add: %d\n", add(a, b)); printf("Sub: %d\n", sub(a, b)); printf("Mul: %d\n", mul(a, b)); printf("Div: %d\n", divide(a, b)); return 0; }
北城半夏4806197 的学生作业:
老师,我这里有一个报错,不明白为什么,求解答! 我查了一下说是ip被占用,但我尝试了还是没解决 #include #include #include #include #include /* See NOTES */ #include #include #include #define BACKLOG 10 //listen长度 int main(int argc, char const *argv[]) { int sfd,ret,cfd; struct sockaddr_in svr_addr,cli_addr; socklen_t len = sizeof(struct sockaddr_in); ssize_t rbytes = 0,sbytes=0; char buffer[1024] = {0}; if(argc < 3) { fprintf(stderr,"Usage : %s ip port!\n",argv[0]); exit(EXIT_FAILURE); } sfd = socket(AF_INET,SOCK_STREAM,0); if(sfd == -1) { perror("[ERROR] socket():"); exit(EXIT_FAILURE); } bzero(&svr_addr,sizeof(svr_addr)); //清零 svr_addr.sin_family = AF_INET; svr_addr.sin_port = htons(atoi(argv[2])); svr_addr.sin_addr.s_addr = inet_addr(argv[1]); //绑定ip地址与端口号 ret = bind(sfd,(const struct sockaddr *)&svr_addr, sizeof(struct sockaddr_in)); if (ret == -1) { perror("[ERROR] bind()"); exit(EXIT_FAILURE); } //设置套接字为监听状态,建立监听队列 ret = listen(sfd,BACKLOG); if(ret == -1) { perror("[ERROR] listen():"); exit(EXIT_FAILURE); } //建立连接,并产生新的客户端套接字cfd用于数据收发 cfd = accept(sfd,(struct sockaddr *)&cli_addr,&len); if(cfd == -1) { perror("[ERROR] accept():"); exit(EXIT_FAILURE); } printf("ip : %s , port : %d\n",inet_ntoa(cli_addr.sin_addr),ntohs(cli_addr.sin_port)); //客户端从键盘接收发送数据 for(;;) { //从客户端发送数据 rbytes = recv(cfd,buffer,sizeof(buffer),0); if(rbytes == -1) { perror("[ERROR] recv():"); exit(EXIT_FAILURE); } else if(rbytes == 0) { printf("The server hsa been shut down.\n"); } else if(rbytes > 0) { memset(buffer, 0, sizeof(buffer)); sbytes = send(cfd,buffer,sizeof(buffer),0); if(sbytes == -1) { perror("[ERROR] send():"); exit(EXIT_FAILURE); } printf("Receive: %s\n", buffer); if(strncmp(buffer,"quit",4) == 0) break; } } close(cfd); close(sfd); return 0; } 【图片】【图片】
+63