scanf()返回值(转)

关于scanf的返回值,MSDN里是这样写的:
Both scanf and wscanf return the number of fields successfully converted
and assigned; the return value does not include fields that were read but
not assigned. A return value of 0 indicates that no fields were assigned.
The return value is EOF for an error or if the end-of-file character or the
end-of-string character is nocountered in the first attempt to read a character.
如:
scanf("%d%d", &a, &b);
如果a和b都被成功读入,那么scanf的返回值就是2
如果只有a被成功读入,返回值为1
如果a和b都未被成功读入,返回值为0
如果遇到错误或遇到end of file,返回值为EOF。
不经意中发现scanf()的返回值问题,自己试验和了解了一下,一些所知与各位分享;

时间: 2024-09-23 18:37:42

scanf()返回值(转)的相关文章

c语言-C语言scanf返回值的问题

问题描述 C语言scanf返回值的问题 其调用格式为: scanf("<格式化字符串>",<地址表>); scanf()函数返回成功赋值的数据项数,出错时则返回EOF. 为了测试这一点我写了两段代码,第一段是 a=scanf("%d",&b); printf("%d",a);这样写输入1.2,2.3,2,3,4 都会打印1. 但是 while(scanf("%d",&b)==1);输入1

c语言scanf()函数的返回值

问题描述 c语言scanf()函数的返回值 c primer plus 一书中,199页的showchar2.c程序中有一行代码是if(scanf("%d %d",&rows,&cols)!=2),请问这里的scanf函数返回值的是参数的个数吗? 解决方案 http://blog.csdn.net/21aspnet/article/details/174326 解决方案二: c语言scanf返回值c语言中 scanf() 和printf()的返回值C语言中的printf

c-一个有关sort函数第三个参数返回值的疑问

问题描述 一个有关sort函数第三个参数返回值的疑问 #include #include #include using namespace std; const int maxsize = 1000; struct stu{ char name[100]; int age; int score; }; bool cmp(stu a,stu b) { if(a.score < b.score) return true; int temp = strcmp(a.name,b.name); if(te

c++函数返回值是数组问题

问题描述 c++函数返回值是数组问题 比如现在要求定义一个函数fun(),在主函数调用时直接用fun():就能输出在fun函数里定义好的一个字符串,那要fun函数的返回值怎么返回才行,为什么我返回指针但打印出来却不是正确结果?求大神解释 解决方案 一般来说,出于内存管理的需要,让主程序来分配内存,传指针.比如scanf函数,就是通过这个方式输入值. 比如 void getstr(char * buffer) { char str[] = "hello world"; strcpy(bu

关于python函数递归返回值的问题

问题描述 关于python函数递归返回值的问题 这是一个匹配字典中词语的函数. 按理说已经匹配成功了 在return之前加个print 输出结果是对的 但是在外面调用输出来就是None 不知道为什么 求大神!! def find_word(dictionary,word): if word in dictionary: return word else: if len(word)-1 == 0: return word else: word = word[0:len(word)-1] find_

c语言数据结构-为什么两个查找i和item的返回值p的地址输出都是一样的?

问题描述 为什么两个查找i和item的返回值p的地址输出都是一样的? int LocItem1(linklist *L,int n,int i){ linklist *q,*p; int j=0; if(L->next==NULL) { printf("The linklist is emptyn"); return NULL; } else if(i>n) { printf("i>n is beyoundn"); return NULL; } e

一个类如何实现两个接口中同名同参数不同返回值的函数

假设有如下两个接口: public interface IA{    string GetA(string a);}public interface IB{    int GetA(string a);} 他们都要求实现方法GetA,而且传入的参数都是一样的String类型,只是返回值一个是String一个是Int,现在我们要声明一个类X,这个类要同时实现这两个接口: public class X:IA,IB 由于接口中要求的方法的方法名和参数是一样的,所以不可能通过重载的方式来解决,那么我们该

nodejs如何将数据返回给前端的post请求,在浏览器preview能看到返回值

问题描述 nodejs如何将数据返回给前端的post请求,在浏览器preview能看到返回值 前端使用ajax请求post方法请求nodejs服务.nodejs如何将数据返回给前端,并且在浏览器的preview中能得到,新手,在线急等

字符串-一个很基础的返回值问题

问题描述 一个很基础的返回值问题 想要打印字符串数组,去掉中间的空格和Tab,并且删除全为空的行,哪里有错?谢谢. #include #define MAXLINE 1000 int getline(char line[], int maxline); int copy(char to[],char from[]); int main(){ int len; int max; char line[MAXLINE]; max=0; while ((len=getline(line,MAXLINE)