GATE CS 2020 Set 1 — Question 58

Go beyond PYQs with Success TrackerAI-powered personalised practice and doubt support. Unlimited practice on eligible plans; AI usage limits apply.
NAT+2 / -0MediumFunctions & RecursionC ProgrammingProgramming & Data StructuresArrays & Strings in CPointers & Pointer Arithmetic

Programming & Data Structures → C Programming → Arrays & Strings in C

Last updated

Question

Consider the following C functions.
int tob(int b, int* arr) {
    int i;
    for(i=0; b>0; i++) {
        if(b%2) arr[i]=1;
        else    arr[i]=0;
        b = b/2;
    }
    return(i);
}

int pp(int a, int b) {
    int arr[20];
    int i, tot = 1, ex, len;
    ex = a;
    len = tob(b, arr);
    for(i=0; i<len; i++) {
        if(arr[i]==1)
            tot = tot * ex;
        ex = ex * ex;
    }
    return(tot);
}
The value returned by pp(3, 4) is ________.
Your answer

Enter a number. Decimals, negative values and scientific notation are accepted.

The solution stays hidden until you check.

Continue learning with Success Tracker

A step still unclear? Work through it with support

Use Success Tracker to ask about the reasoning, then try another GATE CS question to check your understanding.

AI-powered practice· Unlimited practice on eligible plans
PYQs with solutions
Attempt available previous-year questions, then compare your reasoning with the worked solution. Coverage varies by stream.
Practice that adapts
Choose a topic, work on weaker areas and bookmark questions to revisit. Your attempts feed your progress tracking.
AI doubt support
Ask follow-up questions about a step or concept while practising, instead of stopping at the final answer.

Unlimited practice is available on eligible plans. Free practice and AI usage have limits; check the current plan allowances before choosing.

This page stays readable without an account. AI responses can be wrong; check them against the solution and source material.

More questions on C Programming