C primer plus 第六版 第十一章 第四題 程式設計練習答案

Aeron-A發表於2018-12-22

Github地址:φ(>ω<*)這裡這裡。

/*
    本次任務設計並測試一個函式,要求有任務3建立的函式的功能,並新增第二個引數控制最大讀入字元數量。
*/

#include<stdio.h>

#define o 100

void get(char name[o], int n);

int main(void)
{	
	int n = 0;
	char name[o] = {};   

	printf("Please input the limit of word:");
	scanf("%d", &n);
	putchar('\n');
	fflush(stdin);
	printf("Please input(Only first word can be save):\n");
	get(name, n);

	puts(name);
	putchar('\n');

	printf("Bye ~\n");
	getchar();

	return 0;
}
void get(char name[o], int n)
{
	int i = 0;

	// 獲取輸入
	while( (name[i] = getchar() ) != NULL )
	{
		if( i == n || name[i] == ' ' || name[i] == '\n' )
		{
			name[i] = '\0';
			fflush(stdin);   // 這個就是丟棄剩餘輸入(清空輸入緩衝區)。。。簡單方便。。
			break;
		}

		i++;
	}

	return;
}

 

相關文章