是否允许在标准C中使用别名来修改int给定的函数?换句话说,以下代码是否保证在标准C中始终返回42和1?const int *int *
#include <stdio.h>
void foo(const int *a, int *b)
{
printf("%d\n", *a);
*b = 1;
printf("%d\n", *a);
}
int main(void)
{
int a = 42;
foo(&a, &a);
return 0;
}
Run Code Online (Sandbox Code Playgroud)