@Alam, Try this revised code

#include<stdio.h>
#include<conio.h>
int array3[10];
main()
{
    clrscr();
    int *take,i;
    int array1[10]={1,2,3,4,5,6,7,8,9,10};
    int* modify(int*);
    take=modify(array1);
    for(i=0;i<10;i++)
        printf("%d ",*(take+i));
    getch();
}


int* modify(int* array2)
{
    int i;
    for(i=0;i<10;i++)
    {
        array3[i]=3*array2[i];
           //    printf(" %d",array3[i]);
    }
    return array3;
}


On 3 August 2011 13:31, Thavasi Subramanian <[email protected]> wrote:

> @Alam: Can u mail tat revised code
>
>
> On 3 August 2011 11:54, Arshad Alam <[email protected]> wrote:
>
>>
>> @Subramanian, I made the changes what you have told, it is running
>> fine,not giving any warning or error but output is not desirable
>>
>>
>> On Wed, Aug 3, 2011 at 11:41 AM, Thavasi Subramanian <
>> [email protected]> wrote:
>>
>>> Here take is a pointer local to fn main() and array3[10] is local to fn
>>> modify. So array3's entire locations are not visible to main().
>>> "return array3" will retun only the reference of the first element of the
>>> array.
>>> So the pointer will store only one value 3(the first value in array3) in
>>> address "take".
>>>
>>> The problem here is the scope of array3. If you declare array3 as a
>>> global variable then you will get what you are in need of.
>>>
>>>
>>> On 3 August 2011 10:57, Arshad Alam <[email protected]> wrote:
>>>
>>>> WHY THERE IS ERROR AT THE "BOLD LINE" THAT IS L-VALUE REQUIRED
>>>>
>>>> /*
>>>> Write a program which performs the following tasks:
>>>> - initialize an integer array of 10 elements in main( )
>>>> - pass the entire array to a function modify( )
>>>> - in modify( ) multiply each element of array by 3
>>>> - return the control to main( ) and print the new array elements in
>>>> main( )
>>>> */
>>>>
>>>> #include<stdio.h>
>>>> #include<conio.h>
>>>> void main()
>>>> {
>>>>     clrscr();
>>>>     int take[10],i;
>>>>     int array1[10]={1,2,3,4,5,6,7,8,9,10};
>>>>     int* modify(int*);
>>>>     *take=modify(array1);*
>>>>     for(i=0;i<10;i++)
>>>>         printf("%d ",take[i]);
>>>>     getch();
>>>> }
>>>>
>>>>
>>>> int* modify(int* array2)
>>>> {
>>>>     int i;
>>>>     int array3[10];
>>>>     for(i=0;i<10;i++)
>>>>     {
>>>>         array3[i]=3*array2[i];
>>>>            //    printf(" %d",array3[i]);
>>>>     }
>>>>     return array3;
>>>> }
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Algorithm Geeks" group.
>>>> To post to this group, send email to [email protected].
>>>> To unsubscribe from this group, send email to
>>>> [email protected].
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/algogeeks?hl=en.
>>>>
>>>
>>>
>>>
>>> --
>>> Thavasi
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups
>>> "Algorithm Geeks" group.
>>> To post to this group, send email to [email protected].
>>> To unsubscribe from this group, send email to
>>> [email protected].
>>> For more options, visit this group at
>>> http://groups.google.com/group/algogeeks?hl=en.
>>>
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "Algorithm Geeks" group.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to
>> [email protected].
>> For more options, visit this group at
>> http://groups.google.com/group/algogeeks?hl=en.
>>
>
>
>
> --
> Thavasi
>



-- 
Thavasi

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to