c程序求助---为什么flag开关变量没有起作用啊
发布网友
发布时间:2022-04-23 14:51
我来回答
共2个回答
热心网友
时间:2023-10-03 01:39
你有程序有些问题:
#include"stdio.h"
int main()
{
void hanoi(int,char,char,char);
int m,i=1,flag=1;
char A='A',B='B',C='C',x;
while(flag)
{
printf("\nInput the number of the dishes:");
scanf("%d",&m);
printf("The step to move %d diskes:\n"); //这里没有参数,%d只能输出0
hanoi(m,A,B,C);
printf("Continue?(Y/N):");
getchar(); //getchar();可以消耗掉这个回车字符
scanf("%c",&x); //这里的字符接受了上面scanf("%d",&m);后多余的一个回车字符了
if((x=='n')||(x=='N'))
flag=0;
}
return 0;
}
void hanoi(int n,char A,char B,char C)
{
void move(A,C); //我编译时不行,这是申明语句,应该是void move(char,char);吧
if(n==1)
move(A,C);
else
{
hanoi(n-1,A,C,B);
move(A,C);
hanoi(n-1,B,A,C);
}
}
void move(char x,char y)
{
printf("%c-->%C\n",x,y);
}
热心网友
时间:2023-10-03 01:39
你能编得过吗?
void hanoi(int n,char A,char B,char C)
{
//void move(A,C); 改为 void move(char, char);
...
}
你在输入 m的值的时候 会输一个回车来确认 回车也是一个字符 会被下面的scanf 截掉
当你想输入 N或n时 其实在输入第二次 m的值
解决办法 在 scanf("%d",&m); 后加一句
getchar();追问其实我也很感谢你,不过百度智能选一个答案,实在很抱歉
C语言中flag是什么意思?下面程序中flag是什么意思?
flag 就是个变量啊。一般定义flag变量,用于标识多个运算过程,在运算结束后,用于判断是那个运算过程是否执行了。比如上面的,可以在执行if(n能否被3整除)时,把flag置-1,表示已经判断过n能被3整除。那么当执行if(n能否被5整除时),如果能被5整除,只要再判断下flag的值,就知道两个判断是否同时成...
编写一个函数,输和一行字符,将此字符串中最长的单词输出
程序中设longest函数的作用是找最长单词的位置.此函数的返回值是该行字符中最长单词的起始位置.用flag表示单词是否开始,flag=0表未开始,flag=1表已开始;len代表当前单词已累计的字母个数;length代表先前单词中最长单词的长度;point代表当前单词的起始位置(用下标表示);place代表最长单词的起始位置.函数alphabetic的作用...
c语言中flag是什么意思?
flag不是c语言的关键字,其通常用来作为一个指示变化的变量的名称,C语言中一般设置一个变量flag,是一个来表示判断的变量,当做标志。例如当一种情况的时候,置flag为1,当另外一种情况时,置flag为2。 变量名为flag,只是习惯问题,也可以取别的名字。例:设置标志,如:A事件和B事件 A事件正在发...
单片机中定义flag有啥作用flag=1和flag=0都是什么意思?
flag是程序员自己起的变量名,一般情况下将其看作为标志位。我们通常将它视为uchar型变量,将flag赋值时,有flag=!1(flag不等于1)和flag=1;它的作用主要是让单片机的一项功能实现不同的操作,不同的操作通常时间先后顺序不等,不同的操作即通过设置flag=!1(flag不等于1)和flag=1予以区别开来。
C语言菜鸟求助for(flag=1;flag==1;) 不知道是啥意思?
for(flag=1;flag==1;) 是一个循环,其中flag=1是指将1赋给flag,这句跟我们平时的数学思维不同,不能说flag等于1。flag==1是指当flag的值与1相等的时候停止循环,这句跟我们平时的数学思维是一样的。此循环实际上只循环1次.
C语言中flag是什么意思?下面程序中flag是什么意思?
flag只是一个用户自定义的标识符,没什么意思。我们给标识符命名的一般是:通俗易懂(见名知意)。当然,得符合标识符的命名规则。比如说:我们定义一个标识符用来存储姓名,我们会把它命名为name(也可以命名为sdfs,只是这样不直观、方便)。同样,这里的name 也没什么意思,只是一个标识符。C语言中...
C语言中的位屏蔽(bit masking)是怎么回事
Cause an error message. The flag C_FLAG is not big enough to hold all its possible values.endif /* C_LARGEST > C_FLAG */ 宏SET_MFLAG(N,F,V)先清除变量N中由值F指定的位,然后置位变量N中由值V指定的位。宏CLR_MFLAG(N,F)的作用和CLR_FLAG(N,F)是相同的,只不过换了...
单片机微动开关控制C语言程序编写
给你一个思路,定时器肯定要用了,首先你得定义一个变量A 把变量A的值设置为0的时候执行语句X,变量为1的时候执行语句A 变量为2的时候执行语句B 变量为3的时候执行语句C 意思就是刚开始你就把A的值定义为0就执行X,然后再按一下按键把A的值定义为1,按两下就定义为2,按三下就定义为3大概...
...flage=0,不理解int flag为什么=1,感觉没必要·
你的理解没错,在这里初始化的确是多余的,但是这么做有这么做的道理。在实际项目里,一般都要求定义变量的时候要初始化。强制初始化所有变量的好处是可以保证不会有未初始化的变量被使用。虽然int flag=1在你的例子里没有必要,但是坚持这么做对养成良好的编程习惯有好处。
该文件没有程序与之关联来执行该操作,请在控制面板的文件夹选项中创立关...
该文件没有程序与之关联来执行该操作,请在控制面板的文件夹选项中创立关联。 我打开图片预览之后右键点编辑就出现了这个:该文件没有程序与之关联来执行该操作,请在控制面板的文件夹选项中创立关联。也不能比编辑了。。。怎么解决?图片预览没有问题。。只在编... 我打开图片预览之后右键点编辑就出现了这个:该文件...