Why doesn't the code "int a = 1000, b = 1000;
long int c = a * b;" work?
Answers were Sorted based on User's Feedback
Answer / larry
This won't work if int is a 16-bit size because 1000000 >
32767 (2 to the 15th - 1). It will work when int is a 32-
bit number. It will work if you cast a or b to a long.
| Is This Answer Correct ? | 5 Yes | 0 No |
Answer / thirupathi reddy katkoori
Integer range exceeds if multiply both the variables the resultant value does not to store it. Due to exceeding the int range only we have to declare it as long int and the value is store in c
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / guest
You must manually cast one of the operands to (long).
| Is This Answer Correct ? | 1 Yes | 1 No |
Answer / vikraman85
I think mostly we should avoid assigning the variables while
declaring with the variables of another datatype..
| Is This Answer Correct ? | 0 Yes | 1 No |
Answer / komal
it wont work as we have to declare the variable 'b'
again...we can not declare it like int a=10,b=3;
it has to b like int a=10;
int b=6;
| Is This Answer Correct ? | 0 Yes | 4 No |
How can type-insensitive macros be created?
What is Dynamic memory allocation in C? Name the dynamic allocation functions.
When should I declare a function?
inline function is there in c language?
how to devloped c lenguege?
why arithmetic operation can’t be performed on a void pointer?
For what purpose null pointer used?
Explain Basic concepts of C language?
What is the difference between array_name and &array_name?
how to print the character with maximum occurence and print that number of occurence too in a string given ?
What are identifiers in c?
What is the benefit of using an enum rather than a #define constant?