Debugging Question:

What is the output of this program?
#include<stdio.h>
#include<sys/socket.h>
int main()
{
int ret;
ret = shutdown(0,0);
printf("%dn",ret);
return 0;
}
a) 0
b) -1
c) can not be determined
d) none of the mentioned

Tweet Share WhatsApp

Answer:

b) -1
Explanation:
The shutdown() is used to close a socket and the first argument in shutdown() is socket.
Output:
[root@localhost google]# gcc -o san san.c
[root@localhost google]# ./san
-1
[root@localhost google]#

Download Linux Debugging PDF Read All 80 Linux Debugging Questions
Previous QuestionNext Question
This program is valid for
#include<stdio.h>
#include<netinet/in.h>
#include<sys/types.h>
#include<sys/socket.h>

int main()
{
int fd_client,fd, len;
struct sockaddr_in add_server;
fd_client = socket(AF_INET,SOCK_STREAM,0);
if (fd_client == -1){
perror("fd_sock");
exit(1);
}
add_server.sin_family = AF_INET;
add_server.sin_port = ntohs(4001);
add_server.sin_addr.s_addr = inet_addr("144.29.8.2");
len = sizeof(add_server);
fd = connect(fd_client,(struct sockaddr*)&add_server,len);
return 0;
}

a) IPv4
b) IPv6
c) both (a) and (b)
d) none of the mentioned
What is the problem with this server program?

#include<stdio.h>
#include<stdlib.h>
#include<netinet/in.h>
#include<sys/types.h>
#include<sys/socket.h>

int main()
{
int fd_server, fd_client, len;
struct sockaddr_in add_server;
fd_server = socket(AF_INET,SOCK_STREAM,0);
if (fd_server == -1){
perror("fd_sock");
exit(1);
}
add_server.sin_family = AF_INET;
add_server.sin_port = htons(4001);
add_server.sin_addr.s_addr = inet_addr("122.23.1.1");
len = sizeof(add_server);
if( bind(fd_server,(struct sockaddr*)&add_server,len) != 0)
perror("bind");
if(listen(fd_server,5) != 0)
perror("listen");
fd_client = accept(fd_server,(struct sockaddr*)&add_server,&len);
if(fd_client == -1)
perror("accept");
return 0;
}
a) it can not accept the request of any client
b) it will give the segmentation fault
c) there is no problem with this program
d) none of the mentioned