第18周 C语言实战105例 实例1:一个价值三天的"BUG"

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Emperor_21AD_ShiDi/article/details/52044121

问题及代码:

/*使用sscanf处理行定向的输入*/

#include<stdio.h>
#include<stdlib.h>

# define BUFFERSIZE 1024

int main()
 {
  unsigned short a,b,c,sum; 
  char buffer[BUFFERSIZE]; 

  //fgets()读取字符并复制到buffer中 
while((fgets(buffer,BUFFERSIZE,stdin)!=NULL) && (buffer[0]!='#'))
 {
  if(sscanf(buffer,"%hd %hd %hd",&a,&b,&c)!=3) //注意加上限定符h 
   {
   	 printf("%s",buffer);
   	 continue;
   }
   
   sum=a+b+c;
   
   printf("%hd",sum); //无符号整形需加限定符h 
}
   return 0;
}


总结:

short、long、unsigned short等都要加限定符。

展开阅读全文

没有更多推荐了,返回首页