#include <stdio.h>
void x2(int* pData)
{
*pData = *pData * 2;
}
int main()
{
// 最後の 0 が無いと強制終了になる。
// コンパイラのバグと思われる。
short data[] = { 100, 200, 300, 400, 500, 0 };
for(int i = 0; i < 5; ++ i) {
short* pData = &data[i];
// short から int へのキャストなので絶対安全
x2((int*) pData);
printf("%d ", *pData);
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIHgyKGludCogcERhdGEpCnsKICAqcERhdGEgPSAqcERhdGEgKiAyOwp9CiAKaW50IG1haW4oKQp7CiAgLy8g5pyA5b6M44GuIDAg44GM54Sh44GE44Go5by35Yi257WC5LqG44Gr44Gq44KL44CCCiAgLy8g44Kz44Oz44OR44Kk44Op44Gu44OQ44Kw44Go5oCd44KP44KM44KL44CCCiAgc2hvcnQgZGF0YVtdID0geyAxMDAsIDIwMCwgMzAwLCA0MDAsIDUwMCwgMCB9OwogCiAgZm9yKGludCBpID0gMDsgaSA8IDU7ICsrIGkpIHsKIAogICAgc2hvcnQqIHBEYXRhID0gJmRhdGFbaV07CiAKICAgIC8vIHNob3J0IOOBi+OCiSBpbnQg44G444Gu44Kt44Oj44K544OI44Gq44Gu44Gn57W25a++5a6J5YWoCiAgICB4MigoaW50KikgcERhdGEpOwogCiAgICBwcmludGYoIiVkICIsICpwRGF0YSk7CiAgfQogCiAgcmV0dXJuIDA7Cn0=