New Year Sale 2026! Hurry Up, Grab the Special Discount - Save 25% - Ends In 00:00:00 Coupon code: SAVE25
Welcome to Pass4Success

- Free Preparation Discussions

C++ Institute CPA-21-02 Exam - Topic 8 Question 22 Discussion

Actual exam question for C++ Institute's CPA-21-02 exam
Question #: 22
Topic #: 8
[All CPA-21-02 Questions]

What happens when you attempt to compile and run the following code?

#include

using namespace std;

int fun(int x) {

return x<<2;

}

int main(){

int i;

i = fun(1) / 2;

cout << i;

return 0;

}

Show Suggested Answer Hide Answer
Suggested Answer: B

Contribute your Thoughts:

0/2000 characters
Stefania
3 months ago
Fun fact: bit shifting is cool!
upvoted 0 times
...
Regenia
4 months ago
Wait, really? I thought it would be 4!
upvoted 0 times
...
Lashon
4 months ago
I think it actually prints 2.
upvoted 0 times
...
Lauryn
4 months ago
No way, it should print 1!
upvoted 0 times
...
Walton
4 months ago
It prints: 0
upvoted 0 times
...
Coral
5 months ago
I’m confused about the division part. If it returns 4, then dividing by 2 should give us 2, right?
upvoted 0 times
...
Chuck
5 months ago
I practiced a similar question last week, and I believe it should print 2 as well. The left shift doubles the number.
upvoted 0 times
...
Elfriede
5 months ago
I'm not entirely sure, but I remember something about bitwise operations. Does that mean it would print 2 after dividing by 2?
upvoted 0 times
...
Annmarie
5 months ago
I think the function shifts the number left by 2 bits, so it should return 4 when I pass 1 to it.
upvoted 0 times
...
Arlean
5 months ago
Hmm, I'm not entirely sure about this one. I'll need to review my notes on bitwise operators and integer division to make sure I'm understanding it correctly.
upvoted 0 times
...
Fletcher
5 months ago
I think I've got it! The left shift by 2 bits is equivalent to multiplying by 4, so `fun(1)` returns 4. Then, dividing that by 2 gives us the final result of 2. I'm confident in this answer.
upvoted 0 times
...
Charlene
5 months ago
Wait, I'm a bit confused. Isn't the left shift operator `<<` supposed to multiply the value by 2 raised to the power of the shift amount? I'll have to double-check that.
upvoted 0 times
...
Raylene
5 months ago
Okay, let me see here. The function `fun(1)` returns 4, and then we divide that by 2. So the output should be 2, right?
upvoted 0 times
...
Kent
5 months ago
Hmm, this looks like a bit of a tricky one. I'll need to carefully step through the code and think about the bitwise shift operator.
upvoted 0 times
...
Mary
5 months ago
I'm a little confused by the wording of the question. Do I need to merge the contacts first, or can I just focus on the accounts? I'll have to re-read it carefully.
upvoted 0 times
...
Genevive
10 months ago
Haha, this is a classic bit-shift question! The answer is definitely B) It prints: 1. I remember learning about this in my coding class, where the instructor said, 'Bit-shifting is like magic, but it's also like a secret handshake for programmers.'
upvoted 0 times
Jeniffer
9 months ago
Oh, I see! So the result is 4, but then divided by 2 to get 2, which is printed out.
upvoted 0 times
...
Dorsey
10 months ago
Actually, it prints: 1 because the function fun(1) shifts the binary representation of 1 two positions to the left.
upvoted 0 times
...
Shonda
10 months ago
I think the answer is D) It prints: 4.
upvoted 0 times
...
...
Lelia
10 months ago
Hmm, this is a tricky one. I'm going to go with D) It prints: 4. The bit-shift operation must be doing something weird, so let's just go with the largest number in the options.
upvoted 0 times
Audra
9 months ago
User3: Yeah, let's go with D) It prints: 4
upvoted 0 times
...
Mariann
9 months ago
User2: I agree, the bit-shift operation is probably causing that
upvoted 0 times
...
Carmen
9 months ago
User1: I think it prints: 4
upvoted 0 times
...
...
Chaya
11 months ago
I think the answer is C) It prints: 2. The bit-shift operation `x<<2` effectively multiplies `x` by 4, so `fun(1)` returns 4, and when divided by 2, the result is 2.
upvoted 0 times
Yen
10 months ago
That makes sense, the bit-shift operation is multiplying by 4.
upvoted 0 times
...
Wilson
10 months ago
I agree, the answer is C) It prints: 2.
upvoted 0 times
...
...
Veronica
11 months ago
The correct answer is B) It prints: 1. The function `fun(1)` returns 4, and when divided by 2, the result is 2.
upvoted 0 times
...
Levi
11 months ago
I'm not sure, but I think the answer might be C.
upvoted 0 times
...
Laurene
11 months ago
I agree with Daniel, because the function fun() shifts the bits of the input left by 2 positions.
upvoted 0 times
...
Daniel
11 months ago
I think the answer is D.
upvoted 0 times
...

Save Cancel