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 |
Write a c pgm for leap year
11 Answers College School Exams Tests, IBM, TCS,
An interactive c program to read basic salary of 15 persons. each person gets 25% of basic as HRA, 15%of basic as conveyance allowances, 10%of basic as entertainment allowances.The total salary is calculated by adding basic+HRA+CA+EA.Calculate how many out of 15 get salary above 10,000.Rs also print the salary of each employee
What is character constants?
Under what circumstances does a name clash occur?
find the size of structure without using the size of function
What is a null string in c?
which do you prefer C or Pascal?
what are bitwise shift operators?
Describe the complexity of Binary search, Quicksort and various other sorting and searching techniques..
m=++i&&++j(||)k++ printf("%d"i,j,k,m)
how to convert an char array to decimal array
how to find that no is int or float?