[Solved] Dynamically allocated C array suddenly getting modified [closed]

At least this statement array->values = realloc(array->values, array->capacity); shall be rewritten like array->values = realloc(array->values, array->capacity * sizeof( Value ) ); Though it would be more safer to use an intermediate pointer like for example Value *tmp = realloc(array->values, array->capacity * sizeof( Value ) ); if ( tmp != NULL ) { array->values = tmp; … Read more

[Solved] function returns address of local variable, but it still compile in c, why?

Even I get an warning a function returns an address from local variable, it compiles. Isn’t it then UB of compiler? No, but if it were, how could you tell? You seem to have a misunderstanding of undefined behavior. It does not mean “the compiler must reject it”, “the compiler must warn about it”, “the … Read more

[Solved] Write a programme to input 10 numbers from the user and print greatest of all

If you have an array declared like int a[N]; where N is some positive integer value then the valid range of indices to access elements of the array is [0, N). It means that for example this for loop for(i=1;i<=10;i++) { printf(“enter 10 nos. for arr[%d] :”,i); scanf(“%d”,&arr[i]); } must look like for ( i … Read more

[Solved] Why does it return a random value other than the value I give to the function?

First of all, C functions are call-by-value: the int x arg in the function is a copy. Modifying it doesn’t modify the caller’s copy of whatever they passed, so your swap makes zero sense. Second, you’re using the return value of the function, but you don’t have a return statement. In C (unlike C++), it’s … Read more

[Solved] Does this usage of if statements cause undefined behaviour? [closed]

will I get undefined behaviour by not including all 3 variables into every condition? The behaviour of not including all variables into every condition is not undefined by itself. Will every unaccounted for condition go into the else statement? Statement-false (i.e. the statement after the keyword else) is executed if the condition is false. what … Read more