编程-刚学C语言向各位大神求救

问题描述

刚学C语言向各位大神求救

如何使用’=‘来结束getchar函数??
#include
int main ()
{
int i=0,n;
char str[100];
while((str[i]=getchar())!='=')i++;
i--;
for (n=i;n>=0;n--)
printf("%c",str[n]);
return 0;
}
这是不能运行的源代码
编程要解决的问题:

解决方案

用getche();

 #include<stdio.h>
#include <conio.h>
int main ()
{
    int i=0,n;
    char str[100];
    while((str[i]=getche())!='=')i++;
    i--;
    for (n=i;n>=0;n--)
        printf("%c",str[n]);
    return 0;
}

解决方案二:

函数名: getche 功 能: 输入后立即从控制台取字符,不以回车为结束(带回显)

解决方案三:

题主用的什么系统?
linux系统下没有getche()函数, 可调用系统命令system("stty raw")开启单个字符输入 system("stty cooked")回到整行输入,如

system("stty raw");
ch = getchar();
system("stty cooked");
需要注意的是 在打开和关闭这种模式之间 不要输出东西,因为很有可能跟你想象的不一样,如果非输不可,可以先关闭 再输出,函数结束后记得关闭。

时间: 2025-01-31 13:48:55

编程-刚学C语言向各位大神求救的相关文章

刚学c语言向各位大神求救

问题描述 刚学c语言向各位大神求救 这个代码的m值当输入you are yourself时应该是15 但是奇怪的变成了19望各位大大帮我看看,不胜感激 源代码: #include #include int main() { int i,n=0,m; char A[100],B[100]; gets(A); m=strlen(A); for(i=0;i<=m-1;i++) { if(A[i]=='y'&&A[i+1]=='o'&&A[i+2]=='u'&&

代码-本人菜鸟,刚学qt,请各位大神指点

问题描述 本人菜鸟,刚学qt,请各位大神指点 请问为什么这个没有输出呢? while (!stream.atEnd()) { message +='n'+stream.readLine(); //逐行读取文本文件的数据 } qDebug()<<message;

c语言-C语言学习方法求大神指教

问题描述 C语言学习方法求大神指教 不知道该怎么学C语言,求大神指教, 不知道该怎么学C语言,求大神指教, 不知道该怎么学C语言,求大神指教, 不知道该怎么学C语言,求大神指教 解决方案 C语言不太适合初学,它涉及很多计算机本身的原理.之所以很多人学C语言,其实只是应付考试罢了.而应付考试,其实是有技巧的,你不用真的学会C语言,只要多做习题,熟悉出题套路就可以了. 甚至你真正去学会C语言,反倒影响你考试. 解决方案二: 看这本书: 中文名: C程序设计语言(第2版 新版) 原名: The Pro

求大神啊-刚学C语言的新人,,,

问题描述 刚学C语言的新人,,, 编程时什么时候需要return0啊???搞不懂.求大神解答,,,,,,,,,,. 解决方案 主函数又返回值时要用return 结束.主函数没有返回值时,不用也不能用return!.主函数一般是int main()(返回值是整型)或者void main()(无返回值). 解决方案二: 1.带返回值的main函数如果用return 0; 一般表示你的应用程序执行成功,如果返回非零值表示运行失败.如: int main() { if(fun1()==FALSE) re

刚学c语言出了小问题。。大神棒棒看 谢谢

问题描述 刚学c语言出了小问题..大神棒棒看 谢谢 一个计算日期距离的玩意 #include int sr(); int main() { printf("请输入起始年月日(以回车间隔) "); int memories; int year = sr(); int month = sr(); int day = sr(); printf("请输入当前年月日(以回车间隔) "); int thisyear = sr(); int thismonth = sr(); i

图片-刚学c语言,各位大大帮我看看这段代码哪里有错,谢谢啦

问题描述 刚学c语言,各位大大帮我看看这段代码哪里有错,谢谢啦 题目是判断一个数是否能被3整除 解决方案 第一,主函数里调用函数方法即可,不可以定义函数:第二,你的函数名不规范,一般很少用一个单字母表示函数,当然f除外(习惯不好),可以命名为Divide_3.第三,返回值最好用宏定义设计为True或者False,逻辑更清晰. 解决方案二: main函数中调用x()函数#include int main(){x(s);}int x(int s){....} 解决方案三: 这个太基础了,你应该多看点

刚学c语言的新手关于C语言的一些问题

问题描述 刚学c语言的新手关于C语言的一些问题 char z; z = getchar(); while ( z=='y'|| z == 'Y' || z = 'n' || z == 'N') 我用的是vs2015 为什么z那里显示表达式必须是可修改的左值 解决方案 关于c语言的一些问题关于C语言字符串拼接的一些问题C语言指针的一些问题 解决方案二: 不明白你想表达的意思 解决方案三: char z; z = getchar(); 这样用应该没问题啊? 如果z不是可修改的左值,又怎么接收getc

出现频率-一道C语言编程题,本人初学者,求大神解答

问题描述 一道C语言编程题,本人初学者,求大神解答 编写程序实现功能:数据文件story.txt是一篇英文小故事,请先统计其中26个字母的出现次数. 要求一:再根据用户要求,输出某个字母的出现次数,直到用户输入#为止. 要求二:请输出出现频率最高的三个字母和它们的出现次数. 解决方案 #include #include #include int main() { int alpha[26]={0}; //用于计数26个字母出现的次数 FILE *text; //FILE 指针 char ch;

十大编程算法助程序员走上大神之路

十大编程算法助程序员走上大神之路 算法一:快速排序算法 快速排序是由东尼·霍尔所发展的一种排序算法.在平均状况下,排序 n 个项目要Ο(n log n)次比较.在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见.事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来. 快速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个子串行(sub-lists). 算法步骤: