Understanding the Linux system() Function

Could someone explain the expected output of the following code snippet? Will the word ‘goodbye’ appear when it runs?

#include <stdio.h>

int main() {
    system("pwd");
    printf("goodbye");
    return 0;
}

Indeed, the output would include both the current directory path and then the word goodbye immediately afterwards on a new line. The system() function in C is used to execute a shell command, which in this case is pwd. This command prints the working directory, so you'll see the directory path as part of the output. After system() completes its execution, the printf() function will trigger, following immediately to print goodbye.

Therefore, the expected output will appear as:

/current/working/directory/path
goodbye

This assumes the shell command executes without errors and that you have the necessary permissions to execute system() calls, which is subject to the environment's security settings.

Yes, the word goodbye will appear after the current directory path because the system() function executes the pwd command. Once the command completes, printf("goodbye"); gets executed.