标签:style blog class code c int
这样的代码有什么问题:
char c;
while((c = getchar()) != EOF)....
getchar返回值变量必须是int型。因为EOF通常定义为-1,二十进制为255的字符会被符号扩展,和EOF比较时会相等,从而
过早第结束输入。
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#define MAXLINE 256
int main(void)
{
char buf[MAXLINE];
FILE* fp = fopen("1.txt","r");
while(!feof(fp)){
fgets(buf,MAXLINE,fp);
printf("%s",buf);
}
return 0;
}printf("%lu", (unsigned long)sizeof(thetype));#include <stdio.h>
int main(void)
{
char str[] = "1234ABC5.678";
int i;
float f;
char s[10];
sscanf(str,"%d%3s%f",&i,s,&f);
printf("%d,%s,%f\n",i,s,f);
return 0;
}运行结果:int n;
scanf("%d\n",&n);
printf("%d\n",n);int n;
char str[80];
scanf("%d",&n);
gets(str);
printf("%d,%s\n",n, str);
以上的代码,好像编译器跳过了gets的调用。《你必须知道的495个C语言问题》笔记--标准输入输出,布布扣,bubuko.com
标签:style blog class code c int
原文地址:http://blog.csdn.net/todd911/article/details/25491953