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 |
Is it possible to run a c program without using main?If yes HOW??
What is the incorrect operator form following list(== , <> , >= , <=) and what is the reason for the answer?
Here is alphabets : abcdefgh 1) how to reverse. as hgfedcba 2) after reversal, how to group them in a pair hg fe dc ba.
How is actual parameter different from the formal parameter?
Explain argument and its types.
What is static memory allocation? Explain
Explain the array representation of a binary tree in C.
what is the maximum no. of bytes calloc can allocate
In scanf h is used for
Which is more efficient, a switch statement or an if else chain?
What functions are used for dynamic memory allocation in c language?
What are preprocessor directives?