*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 #include /* 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; } }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
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
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps

Blurred answer
Knowledge Booster
Concept of pointer parameter
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
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education