作业社区
探索学习新天地,共享知识资源!
橋本 的学生作业:
char a1[] = "abcde"; char a2[] = "XYZBBQ"; char* p_array[] = { a1,a2,NULL }; for (int i = 0;p_array[i] != NULL;i++) { for (char* j = p_array[i]; *j != '\0';j++) { if (*j >= 97) { printf("%c", *j - 32); } else { printf("%c", *j + 32); } } printf("\n"); }
+12
城仔 的学生作业:
#include #include #include #include #include #include #include #include void do_sig_usr(int sig){ printf(" Receive %s \n",strsignal(sig)); } int main() { pid_t cpid,rpid; //设置信号处理方式 if(signal(SIGUSR2,do_sig_usr) == SIG_ERR){ perror("[ERROR] signal(): "); exit(EXIT_FAILURE); } int statusA,statusB; cpid = fork(); if(cpid == -1){ perror("[error] fork()"); exit(EXIT_FAILURE); }else if(cpid == 0){ fprintf(stdout,"\t chlid1 %d running .\n",getpid()); pause(); fprintf(stdout,"\t child1 %d exit \n",getpid()); sleep(2); exit(EXIT_SUCCESS); }else if(cpid > 0){ sleep(1); kill(cpid,SIGUSR1); fprintf(stdout,"Father %d killed child %d\n",getpid(),cpid); waitpid(cpid,&statusA,0); fprintf(stdout,"father %d exit \n",getpid()); rpid = fork(); if(rpid == -1){ perror("[error] for()"); exit(EXIT_FAILURE); }else if(rpid == 0){ fprintf(stdout,"\t chlid2 %d running .\n",getpid()); pause(); fprintf(stdout,"\t child2 %d exit \n",getpid()); sleep(2); exit(EXIT_SUCCESS); }else if(rpid > 0 ){ int ret; sleep(1); kill(rpid,SIGUSR2); waitpid(rpid,&statusB,0); exit(EXIT_SUCCESS); } } return 0; }【图片】
+94