⟩ What is the output of this program? #include<stdio.h> #include<stdlib.h> #include<fcntl.h> int main() { int fd, new_fd; char *buff; buff = (char *)malloc(sizeof(char)*8); fd = open("san.c",O_RDONLY); new_fd = dup(fd); close(fd); read(new_fd,buff,8); printf("%sn",buff); } a) this program will not print anything b) this program will print "#include" c) this program will give the segmentation fault d) this program will give the syntax error
b) this program will print "#include"
Explanation:
The "dup" system creates the a copy of the file descriptor.
Output:
[root@localhost google]# gcc -o san san.c
[root@localhost google]# ./san
#include
[root@localhost google]#