//习题10.4 定义一个函数,使用getchar()函数从stdin中读入一个字符串,
//这个字符串用特定的字符中止,这个特定的终止字符作为第三个变元
//传给这个函数。因此,函数的原型如下:
// char *getstring(char *buffer,size_t buffer,char end_char);
//返回值是一个指针,它是这个函数的第一变元。编写一个程序,使用这个函
//数从键盘上读取并输出5个以冒号终止的字符串。如果buffer满,且没有找到
//end_char,函数就输出一个错误消息。
#include<stdio.h>
char *getstring(char *buffer,size_t buffer_size,char end_char);
#define max_size 100
#define string_count 5
int main(void)
{
char buffer[max_size];
printf("\nread from the keyboard and output 5 colon_terminated string ");
for(int i=0;i<string_count;i++)
{
printf("\neter the colon_terminated string:\n");
if(!getstring(buffer,max_size,':'))
{
printf("enter error");
continue;
}
printf("\nyour enter is :%s\n",buffer);
}
return 0;
}
char *getstring(char *buffer,size_t buffer_size,char end_char)
{
size_t k=0;
while((buffer[k++]=getchar())!=end_char)
{
if(k>=buffer_size)
{
printf("\nerror");
return NULL;
}
}
fflush(stdin);
buffer[k-1]='\0';
return buffer;
}
《c语言入门经典》Ivor Horton第十章练习题4
最新推荐文章于 2024-04-02 22:38:58 发布