Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to fix "assignment makes integer without a cast" **Update**

Tags:

c

command-line

Okay here's the program I have typed up(stdio.h is included also):

/* function main begins program execution */
int main (int argc, char *argv[])
{
    int x; /*first number input*/
    int y; /*second number input*/
    int sum; /* variable in which sum will be stored */
    int product; /* variable in which product will be stored */
    int quotient; /* variable in which x divided by y will be stored */
    int md; /* variable in which the modulo division of x divided by y */

    x = argv[2]; /*assign total to x*/
    y = argv[3]; /*assign total to y*/

    if (argc ==3) {
       sum = x + y; /* assign total to sum */
       printf("%d\n",sum); /*print sum*/

       product = x * y; /*assign total to product*/
       printf("%d\n", product); /*print product*/

       quotient = x / y; /*assign total to quotient*/
       printf("%d\n", quotient); /*print quotient*/

       md = x % y; /*assign total to md*/
       printf("%d\n", md); /*print md*/
    } /*end if*/

    if (argc !=3) {
       printf("need two integers\n"); /*need two integers*/
    }

    return 0; /*indicate program ran successfully*/
} /*end of main*/

When I run it through the compiler it says that in lines 15 and 16 (x= and y= lines) "assignment makes integer from pointer without a cast." How do I fix this?

**I changed it to x=atoi(argv[2]) and y=atoi(argv[3]) and it fixed that problem. But as always something else has now screwed up. Now when I run the program I get:

163 [main] a_4312 _cygtls::handle_exceptions: Error while dumping state

Segmentation fault

I read that this means I didn't allocate memory for the output or something like that...can anyone give me a hand here?**

like image 314
Kaity Avatar asked May 27 '26 10:05

Kaity


1 Answers

The numbers you get passed are argv[1] and argv[2], not argv[2] and argv[3].

like image 91
Eduard - Gabriel Munteanu Avatar answered May 30 '26 02:05

Eduard - Gabriel Munteanu