编程小技巧

来源:互联网 发布:java 算术运算符 编辑:程序博客网 时间:2024/05/23 19:42

1.如何通过输入一组任意长度的数字序列?

char inchar[N];
int num[N];
int i=0;
int len=0;

scanf("%s",inchar);
len = strlen(inchar);
printf("len:%d",len);
for(i=0;i<len;i++)
{
num[i]=inchar[i]-'0';
}

2.scanf 、 gets 与getchar 的区别

gets()

输入字符串时,可以包含空格在内的字符,在回车时,自动将字符串结束标志'\0'赋予字符数组最后一个元素。

scanf不能输入包含空格字符的字符串,也就是说空格是scanf默认的结束符号

getchar()

可以接受空格,以指定的字符为结束标志。一般选择'\n'。这里需要注意,循环条件的判断及字符串的处理。如下:

do
{
note_num[i]=getchar();
i++;
}
while(note_num[i-1]!='\n');
note_num[i] ='\0';