恐怖?のscanf

 1.整数データの連続キー入力

/* scanf */
#include <stdio.h>

main()
{
	char	buf[256];
	int	i;
	
	while(1)
	{
		printf("終了は Ctrl+C \n");
		printf("Input number: ");
		scanf("%d", &i );
		printf("%d\n", i );
	}
}

/* scanf1.c */

 2.文字列データの連続キー入力

/* scanf */
#include <stdio.h>

main()
{
	char	buf[256];
	int	i;
	
	while(1)
	{
		printf("終了は Ctrl+C \n");
		printf("Input string: ");
		scanf("%s", buf );
		printf("%s\n", buf );
	}
}

/* scanf2.c */

 3.整数データのキー入力
   〜ちゃんと整数データを入力するまで繰り返す〜

/* scanf */
#include <stdio.h>

main()
{
	char	buf[256];
	int	i;
	
	do
	{
		printf("終了は Ctrl+C \n");
		printf("Input number: ");
	} while( scanf("%d", &i ) != 1 );
	printf("%d\n", i );
}

/* scanfd1.c */

 4.整数データの連続キー入力(再び)
   〜キー入力の1行を取り込んでから処理する〜

/* scanf */
#include <stdio.h>

main()
{
	char	buf[256];
	int	i;
	
	while(1)
	{
		printf("終了は Ctrl+C \n");
		printf("Input number: ");
		gets( buf );
		sscanf( buf, "%d", &i );
		printf("%d\n", i );
	}
}

/* scanf3.c */

 5.整数データのキー入力(今度こそ!)
   〜ちゃんと整数データを入力するまで繰り返す〜

/* scanf */
#include <stdio.h>

main()
{
	char	buf[256];
	int	i;
	
	do
	{
		printf("終了は Ctrl+C \n");
		printf("Input number: ");
		gets( buf );
	} while( sscanf( buf, "%d", &i ) != 1 );
	printf("%d\n", i );
}

/* scanfd3.c */