Database System Concepts
Database System Concepts
7th Edition
ISBN: 9780078022159
Author: Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher: McGraw-Hill Education
Bartleby Related Questions Icon

Related questions

bartleby

Concept explainers

Question

*C Programming

This exercise is to help you learn how to debug  compiler warnings/errors and other common errors in your code.   For each part labeled P(n), there is a warning/error/problem that goes with it.  Write down what the issue was in the `Error:` section of each problem.  Work on `segfault.c` along with your fixes and error comments.

 

segfault.c file

 

// P0
#include <stdio.h>
#include <stdlib.h>
/* Error:

*/

void fib(int* A, int n);

int
main(int argc, char *argv[]) {
int buf[10];
unsigned int i;
char *str;
char *printThisOne;
char *word;
int *integers;
int foo;
int *bar;
char *someText;

// P1
for (i = 0; i <= 10; ++i) {
 buf[i] = i;
}
for (i = 0; i <= 10; ++i) {
 printf("Index %s = %s\n", i, buf[i]);
}
/* Error:

 */

// P2
str = malloc(sizeof(char) * 10);
strcpy(str, "Something is wrong");
printf("%s\n", printThisOne);
/* Error:

 */

// P3
word = "Part 3";
*(word + 4) = '-';
printf("%s\n", word);
/* Error:

 */

// P4
*(integers + 10) = 10;
printf("Part 4: %d\n", *(integers + 10));
free(integers);
/* Error:

 */

// P5
printf("Print this whole \0 line\n");
/* Error:

 */

// P6
x = 2147483647;
printf("%d is positive\n", x); 
x += 1000000000;
printf("%d is positive\n", x); 
/* Error:
 
 */

// P7
printf("Cleaning up memory from previous parts\n");
free(str);
free(buf);
/* Error:

 */

// P8
fib(foo, 7);
printf("fib(7) = %d\n", foo);
/* Error:

 */

// P9
bar = 0;
*bar = 123;
printf("bar = %d\n", *bar);
/* Error:

 */

// P10
someText = malloc(10);
strcpy(someText, "testing");
free(someText);
printf("someText = %s\n", someText);
/* Error:

 */

exit(0);
}

// fib calculates the nth fibonacci number and puts it in A.
// There is nothing wrong with this function.
void fib(int *A, int n)
{
int temp;
if (n == 0 || n == 1)
 *A = 1;
else {
 fib(A, n - 1);
 temp = *A;
 fib(A, n - 2);
 *A += temp;
}
}

Expert Solution
Check Mark
Knowledge Booster
Background pattern image
Computer Science
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education