#include <stdio.h>
#include <string.h> /* memset */
#include <stdlib.h> /* moalloc, calloc*/
#include <string.h> /* memset */
#include <assert.h> /* assert */
int *promptUser(unsigned size)
{
unsigned i;
int *myArray
= calloc(size
, sizeof(int));
/* is myArray is successfully allocated */
/* prompt user to fill an array */
for (i = 0; i < size; ++i)
{
scanf("%d", &myArray
[i
]); }
return myArray;
}
display(int *p)
{
unsigned i;
for (i = 0; i < sizeof(p) / p[0] + 1; ++i)
{
}
}
int main(void)
{
int *p;
int size;
/* prompt for size */
/* make sure the size only positive number */
while (size <= 0 )
{
}
p = promptUser(size);
display(p);
/* clean the memory */
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4gLyogbWVtc2V0ICovCiNpbmNsdWRlIDxzdGRsaWIuaD4gLyogbW9hbGxvYywgY2FsbG9jKi8KI2luY2x1ZGUgPHN0cmluZy5oPiAvKiBtZW1zZXQgKi8KI2luY2x1ZGUgPGFzc2VydC5oPiAvKiBhc3NlcnQgKi8KCmludCAqcHJvbXB0VXNlcih1bnNpZ25lZCBzaXplKQp7Cgl1bnNpZ25lZCBpOwoKCWludCAqbXlBcnJheSA9IGNhbGxvYyhzaXplLCBzaXplb2YoaW50KSk7CgoJLyogaXMgbXlBcnJheSBpcyBzdWNjZXNzZnVsbHkgYWxsb2NhdGVkICovCglhc3NlcnQobXlBcnJheSAhPSBOVUxMKTsKCgkvKiBwcm9tcHQgdXNlciB0byBmaWxsIGFuIGFycmF5ICovCglmb3IgKGkgPSAwOyBpIDwgc2l6ZTsgKytpKQoJewoJCXByaW50ZigiRW50ZXIgYSBudW1iZXI6ICIpOwoJCXNjYW5mKCIlZCIsICZteUFycmF5W2ldKTsKCX0KCglyZXR1cm4gbXlBcnJheTsKfQoKZGlzcGxheShpbnQgKnApCnsKCXVuc2lnbmVkIGk7CgoJZm9yIChpID0gMDsgaSA8IHNpemVvZihwKSAvIHBbMF0gKyAxOyArK2kpCgl7CgkJcHJpbnRmKCIlZFxuIiwgcFtpXSk7Cgl9Cn0KCmludCBtYWluKHZvaWQpCnsKCWludCAqcDsKCWludCBzaXplOwoKCS8qIHByb21wdCBmb3Igc2l6ZSAqLwoJcHJpbnRmKCJFbnRlciB0aGUgc2l6ZTogIik7CglzY2FuZigiJWQiLCAmc2l6ZSk7CgoJLyogbWFrZSBzdXJlIHRoZSBzaXplIG9ubHkgcG9zaXRpdmUgbnVtYmVyICovCgl3aGlsZSAoc2l6ZSA8PSAwICkKCXsKCQlwcmludGYoIkVudGVyIHRoZSBzaXplOiAiKTsKCQlzY2FuZigiJWQiLCAmc2l6ZSk7Cgl9CgoJcCA9IHByb21wdFVzZXIoc2l6ZSk7CgoJZGlzcGxheShwKTsKCgkvKiBjbGVhbiB0aGUgbWVtb3J5ICovCglmcmVlKHApOwoKCXJldHVybiAwOwp9Cg==