S
Steve Zimmerman
This post is not intended as an argument to any other post,
just some simple scanf experiments that I wanted to share.
I found experiments 5 and 6 the most educational. Also, I
thought experiment 3 would give some kind of weird error,
due to the lack of a space between the two `percent d's
in the scanf statement, but it didn't.
Experiment 1: ###########################
int var1, var2;
printf("Enter two integers: ");
scanf("%d%d", &var1, &var2);
/* input from keyboard: 12 13 */
printf("%d %d\n", var1, var2);
/* output to screen: 12 13 */
Experiment 2: ###########################
int var1, var2;
printf("Enter two integers: ");
/* input from keyboard: 12 <enter> 13 */
scanf("%d %d", &var1, &var2);
printf("%d %d\n", var1, var2);
/* output to screen: 12 13 */
Experiment 3: ###########################
int var1, var2;
printf("Enter two integers: ");
/* input from keyboard: 12 <enter> 13 */
scanf("%d%d", &var1, &var2);
printf("%d %d", var1, var2);
/* output to screen: 12 13 */
Experiment 4: ############################
char letter;
char plus_or_minus;
printf("Enter your grade: ");
/* input from keyboard: A+ */
scanf("%c%c", &letter, &plus_or_minus);
printf("Your grade is %c%c\n", letter, plus_or_minus);
/* output to screen: Your grade is A+ */
Experiment 5: #############################
char *grade;
printf("Enter your grade: ");
/* input from keyboard: A+ */
scanf("%s", &grade);
printf("Your grade is %s\n", grade);
/* output to screen: Segmentation fault */
Experiment 6: #############################
char grade[2];
printf("Enter your grade: ");
/* input from keyboard: A+ */
scanf("%s", &grade);
printf("Your grade is %s\n", grade);
/* output to screen: Your grade is A+ */
End of experiments #########################
Regards,
--Steve
just some simple scanf experiments that I wanted to share.
I found experiments 5 and 6 the most educational. Also, I
thought experiment 3 would give some kind of weird error,
due to the lack of a space between the two `percent d's
in the scanf statement, but it didn't.
Experiment 1: ###########################
int var1, var2;
printf("Enter two integers: ");
scanf("%d%d", &var1, &var2);
/* input from keyboard: 12 13 */
printf("%d %d\n", var1, var2);
/* output to screen: 12 13 */
Experiment 2: ###########################
int var1, var2;
printf("Enter two integers: ");
/* input from keyboard: 12 <enter> 13 */
scanf("%d %d", &var1, &var2);
printf("%d %d\n", var1, var2);
/* output to screen: 12 13 */
Experiment 3: ###########################
int var1, var2;
printf("Enter two integers: ");
/* input from keyboard: 12 <enter> 13 */
scanf("%d%d", &var1, &var2);
printf("%d %d", var1, var2);
/* output to screen: 12 13 */
Experiment 4: ############################
char letter;
char plus_or_minus;
printf("Enter your grade: ");
/* input from keyboard: A+ */
scanf("%c%c", &letter, &plus_or_minus);
printf("Your grade is %c%c\n", letter, plus_or_minus);
/* output to screen: Your grade is A+ */
Experiment 5: #############################
char *grade;
printf("Enter your grade: ");
/* input from keyboard: A+ */
scanf("%s", &grade);
printf("Your grade is %s\n", grade);
/* output to screen: Segmentation fault */
Experiment 6: #############################
char grade[2];
printf("Enter your grade: ");
/* input from keyboard: A+ */
scanf("%s", &grade);
printf("Your grade is %s\n", grade);
/* output to screen: Your grade is A+ */
End of experiments #########################
Regards,
--Steve