summaryrefslogtreecommitdiffhomepage
path: root/c.html.markdown
diff options
context:
space:
mode:
authorJody Leonard <me@jodyleonard.com>2015-10-26 19:38:36 -0400
committerJody Leonard <me@jodyleonard.com>2015-10-26 19:38:36 -0400
commitb31fda3a8e9f4d0ff021dc707f1e47af4add90ac (patch)
tree3278c6e2f465065f090266e592807f172ddd4be3 /c.html.markdown
parent44ca091c73afe13ec8760021cfed1d77afc5e4a5 (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.markdown9
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