• C

finding the minimum of two numbers

I am trying to make a function that finds the minimum of two integers. I compuled the code below without errors but when I run the program I get a "bus error." Any one know what I did incorrectly?
#include <stdio.h>
double min(double x, double y);
int main () 
{
	
	int numberone, numbertwo;
	printf("Enter a number: ");
	scanf("%d", numberone);
	printf("\nEnter a another number: ");
	scanf("%d", numbertwo);	
	printf("\nThe smaller of those two integers is %d", min(numberone, numbertwo));
	
    return 0;
}
 
double min(double x, double y)
{
	if (x < y)
		y = x;
	if (y < x)
		x = y;
	return x;
// I should be able to return either value since they will be the same by the end
// of the function
}

Open in new window

prebekAsked:
Who is Participating?
 
ozoConnect With a Mentor Commented:
scanf("%d", &numberone);
0
 
Infinity08Connect With a Mentor Commented:
You forgot the & in :

        scanf("%d", &numberone);

(and the same for the other scanf)
0
 
Infinity08Commented:
prebek, usually, when two experts post the same solution at about the same time, it's customary to either split the points among both posts, or to accept the first post as the answer (since it was fastest). As I mentioned elsewhere, I'll ask to get this re-opened for this reason.
0
Improve Your Query Performance Tuning

In this FREE six-day email course, you'll learn from Janis Griffin, Database Performance Evangelist. She'll teach 12 steps that you can use to optimize your queries as much as possible and see measurable results in your work. Get started today!

 
mayank13Commented:
1. You should use scanf ( %d, &<variable>) to read input.
2. You can optimize your minimum finding code by just one line using ternary operator ( ? : ) :

#include <stdio.h>
// double min(double x, double y);    <----- no need for this function.
int main ()
{
       
        int numberone, numbertwo;
        printf("Enter a number: ");
        scanf("%d", numberone);
        printf("\nEnter a another number: ");
        scanf("%d", numbertwo);
        // printf("\nThe smaller of those two integers is %d", min(numberone, numbertwo));   <----- replacing
        printf("\nThe smaller of those two integers is %d",  
                               ((numberone>numbertwo)?numberone:numbertwo)) ;
    return 0;
}
 
/*  No need for this function.
double min(double x, double y)
{
        if (x < y)
                y = x;
        if (y < x)
                x = y;
        return x;
// I should be able to return either value since they will be the same by the end
// of the function
}
*/
0
 
Infinity08Commented:
My suggestion :

http:#24069396 (ozo) : because he was quite a bit faster than me :)
0
 
ozoCommented:
I might suggest split, since the answers seem close enough that they were most likely produced independently
0
 
prebekAuthor Commented:
thanks buddy
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.