diff options
author | Jody Leonard <me@jodyleonard.com> | 2015-10-26 19:38:36 -0400 |
---|---|---|
committer | Jody Leonard <me@jodyleonard.com> | 2015-10-26 19:38:36 -0400 |
commit | b31fda3a8e9f4d0ff021dc707f1e47af4add90ac (patch) | |
tree | 3278c6e2f465065f090266e592807f172ddd4be3 /c.html.markdown | |
parent | 44ca091c73afe13ec8760021cfed1d77afc5e4a5 (diff) |
Edit variable-length array example
The current example seems to be trying to set a size for a char buffer,
use fgets to populate that buffer, and then use strtoul to convert the
char content to an unsigned integer. However, this doesn't work as
intended (in fact, it results in printing "sizeof array = 0"), and so
adapt to a simpler fscanf example. Also remove some ambiguous language
in the example output.
Diffstat (limited to 'c.html.markdown')
-rw-r--r-- | c.html.markdown | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/c.html.markdown b/c.html.markdown index 3d632eab..7c2386ef 100644 --- a/c.html.markdown +++ b/c.html.markdown @@ -148,15 +148,10 @@ int main (int argc, char** argv) printf("Enter the array size: "); // ask the user for an array size int size; fscanf(stdin, "%d", &size); - char buf[size]; - fgets(buf, sizeof buf, stdin); - - // strtoul parses a string to an unsigned integer - size_t size2 = strtoul(buf, NULL, 10); - int var_length_array[size2]; // declare the VLA + int var_length_array[size]; // declare the VLA printf("sizeof array = %zu\n", sizeof var_length_array); - // A possible outcome of this program may be: + // Example: // > Enter the array size: 10 // > sizeof array = 40 |