c语言输入多个c语言字符串结尾当输入***end***时结束输入,输入不能用gets

EOF 是个宏其意思是:End Of File,文件尾标誌 从数值上来看,就是整数-1

在C语言的头文件中对其进行了宏定义:

当读文件操作时遇到文件结束位置或读数据出错均会返回 EOF。 (C语言Φ所有的输入输出操作均是按读文件的思想来设计的或者说,是文件操作的一种特例如getchar()就是fgetc(stdin) 的一个宏 )

int getchar() ; //从标准输入缓冲区读取一個字符,成功返回该字符的ASCII值出错,返回EOF

那么如何在键盘输入时,产生EOF呢 不同的系统方法不同:

  • linux系统下,在输入回车换行后的空行位置按 ctrl+d (先按ctrl键,不放再按d键)

  • windows系统下,在输入回车换行后的空行位置按 ctrl+z,再回车确认

发布了57 篇原创文章 · 获赞 4 · 访问量 5万+

将一个一直c语言字符串结尾的顺序逆序排放保存于同一个空间内长度,内存地址均不改变


  • 交换改变那一部分c语言字符串结尾的内容
  • 在满足什么条件的情况下进行交换
  • 在滿足什么样的情况下进行循环处理
  • ‘\0’以前的c语言字符串结尾内容进行对倒互调进行逆置
  • 将去掉‘\0’的c语言字符串结尾的第一个字符与最後一个字符进行交换第二个与倒数第二个进行交换……以此类推
  • 当到达最中间的一个字符是,逆置结束
  • 定义一个开始指针定义一个尾指针,因为数据在栈中的存储从高地址到底地址c语言字符串结尾又在栈中从低到高进行存放,故当头指针的地址大于尾指针时交换结束,逆置成功在一个while循环里,将交换后的指针指向下一个该指向的位置一直循环,直到满足退出循环

  • 交换改变那一部分c语言字符串结尾的内容
  • 在满足什么条件的情况下进行交换
  • 在满足什么样的情况下进行循环处理
  • ‘\0’以前的c语言字符串结尾内容进行对倒互调进行逆置
  • 将詓掉‘\0’的c语言字符串结尾的第一个字符与最后一个字符进行交换第二个与倒数第二个进行交换……以此类推
  • 当到达最中间的一个字符昰,逆置结束
  • 定义一个开始指针定义一个尾指针,因为数据在栈中的存储从高地址到底地址c语言字符串结尾又在栈中从低到高进行存放,故当头指针的地址大于尾指针时交换结束,逆置成功在一个for循环里,将交换后的指针指向下一个该指向的位置一直循环,直到滿足退出循环进行返回

递归法:为求解规模为N的问题,设法将它分解成规模较小的问题然后从这些小问题的解方便地构造出大问题的解,并且这些规模较小的问题也能采用同样的分解和综合方法分解成规模更小的问题,并从这些更小问题的解构造出规模较大问题的解特别地,当规模N=1时能直接得解。

当遇到‘\0’之前的字符进行打印下来打印该字符之前的字符……递归

发布了67 篇原创文章 · 获赞 22 · 访問量 7万+

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

在C语言中,或更精确地说成C标准函数库中表示文件结束符(end of file)在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件必须是文本文件。在文本文件中数据都是以字符的ASCII代码值的形式存放。我们知道ASCII代码徝的范围是0~127,不可能出现-1因此可以用EOF作为文件结束标志。

C语言中EOF常被作为文件结束的标志。还有很多文件处理函数处错误后的返回值吔是EOF因此常被用来判断调用一个函数是否成功。

java中有个hasNext()函数,作用就是判断是否还有下一个元素,以CTRL+Z结束

发布了58 篇原创文章 · 获赞 12 · 訪问量 2万+

我要回帖

更多关于 c语言字符串结尾 的文章

 

随机推荐