初学者求教简单的C语言问题?
#include
void main()
{
float a,b,c;
char t;//float t;
printf("请输入三个不同的数:");
scanf("%f,%f,%f",&a,&b,&c);
if(a>b)
{
a=t;//t没有初始化,下面也一样
b=a;
b=t;
//应该写成这样吧。 t = a; a = b; b = t;下面类似
}
if(a>c)
{
a=t;
c=a;
c=t;
}
if(b>c)
{
b=t;
c=b;
b=t;
}
printf("%f,%f,%f
",a,b,c);
}
是5?
(a=2*8,a/4)是一个逗号表达式,从左边开始运算,整个表达式的值是最右边的那个值,也即是16/4。至于“但a的值是%d”这个会输出什么,要看编译器怎样处理printf的参数,如果是从右边开始处理的,会输出5,如果是左边开始的,会输出16(因为前面有了a=2*8).
printf("
a=%d",a);最后这里肯定是16,因为前面有a=2*8
将case 1, case 2, case 3
依次改作case '1',case '2', case '3'就好了。
因为scanf("%c",&choice);这句表示choice是以字符形式接收输入的数据,所以case的形式应该也是字符的形式!
case部分如下修改就好了
scanf("%c",&choice)
while(choice!=‘4’)
{
scanf("%c",&choice)
switch(choice)
{
case ‘1’: head=change1(NAME,head);
print(head);
break;
case ‘2’: head=change2(NAME,head);
print(head);
break;
case ‘3’: head=change3(NAME,head);
print(head);
break;
default:
printf("Invalid choice.\n\n");
break;
}
}
意思是:
输入字符‘4’退出,
输入‘1’ ‘2’ ‘3’分别调用函数change1 change2 change3,
输入其他字符则打印Invalid choice,提示重新输入,直到输入字符‘4’才退出。
问题2:
可能1,是因为你的数组结尾不是‘\0',才导致打印不结束,直到遇到’\0'才结束!
可能2,数组存储越界,字符串拷贝时,覆盖了相应的‘\0'!
仔细检查一下吧!
要不直接把源码贴出来,我帮你解决,O(∩_∩)O~
不明白就追问吧!
把while(choice!=4)这一句改成while((choice&15) != 4),再把switch(choice)改成switch(choice&15)
试试……
switch(choice) case 1这样把字符型跟整型比较,一般都不会出现预料中的结果……
简单C语言,把一个字符串中的除大写字母、小写字母和数字字符之外的其他...
新学者,我想说的是你要出现'\\0',你可以在初始化数组的时候全部元素内容都初始化成 '\\0'
求懂得C语言等编程知识的高段专家学者告诉我,游戏物品爆率和强化的原...
满意回答内个人推测的还行。游戏不一定是c语言做的,游戏需要一个团队以及各种语言和技术制作出来。不同的游戏用的方法也多样。概率这个问题,计算机是不能实现随机这一功能的,都是有固定的公式。如果想要每次出的结果都不一样,通常只要在公式里带入时间就好了,时间一直在变,最后的结果也会一直变。当...
初学c语言应该要注意一些什么?
就本人感触,学习指针最好是先学些计算机硬件工作的原理,例如:直接寻址,间接寻址等,只有了解了这些内容以后,你再学指针就比较容易理会,毕竟C语言是一门介于机器语言与高级语言中间的语言,没有一些硬件工作知识是很难领悟它的真谛的。然而事事并非绝对,如果你没有这些知识也不要紧,只要清楚知道以下笔者总结的二点再加...
怎样学C语言啊,感觉C好难哦。
C语言的模块化程序结构用函数来实现,即将复杂的C程序分为若干模块,每个模块都编写成一个C函数,然后通过主函数调用函数及函数调用函数来实现一大型问题的C程序编写,因此常说:C程序=主函数+子函数。因些,对函数的定义、调用、值的返回等中要尤其注重理解和应用,并通过上机调试加以巩固。三.掌握一些简单的算法编程其实...
如何做一个C语言编程的汉诺塔游戏?
include\\x0d\\x0a void move(char x,char y)\\x0d\\x0a {\\x0d\\x0a printf("%c-->%c\\n",x,y);\\x0d\\x0a }\\x0d\\x0a void hanoi(int n,char one ,char two,char three)\\x0d\\x0a {\\x0d\\x0a if(n==1) move(one,three);\\x0d\\x0a else\\x0d\\x0...
怎么用用C语言解决鬼谷算题
三者相加,如不大于一百零五,即为答数;否则须减去一百零五或其倍数。”这道算题的答案为23。计算起来比较繁琐,但如果用我们所熟悉的C语言来编写一小段程序的话,很快就能解决。这段程序如下:include 〃stdio.h〃main()��int x;�for(x=0;x<100;x++)if(x%3=...
学习C语言应遵循哪些步骤?
学习C语言之初,遇到的问题都很简单,没什么可选的。第3步:编写代码 设计好程序后,就可以编写代码来实现。也就是说,把设计的程序翻译成C语言。这里是真正需要使用C语言的地方。可以把思路写在纸上,但是最终还是要把代码输入计算机。程序清单1.1 C源代码示例 include <stdio.h> int main(void){...
急求一编程大师解决问题,初学编程应该学习哪种编程语言?
学编程是一个很漫长的过程,不要着急,要理论与实践想结合,例程书籍也是很重要的,看源代码对学习也是很有帮助的,等你学完这门VB语言之后,学习别的语言是非常简单,可以尝试C语言,按照C——C++——VC的顺序学习,有助于知识的连贯性,我也希望你能学好的。 或者学习Delphi,入门较为简单类似于VB...
python和c++先学哪个?
从Python语言入门,Python语言是面向对象的解释型计算机程序设计语言,相较于C语言而言,如果学者先了解了什么是面向过程,再去了解什么是面向对象,这样学习会更有效率,达到事半功倍的效果。并且Python语言的入门程序比较简单,前期的学习也比C语言要简单,但是先学Python的话,可能会导致对底层实现方面了解...
c语言和python先学哪个?
从Python语言入门,Python语言是面向对象的解释型计算机程序设计语言,相较于C语言而言,如果学者先了解了什么是面向过程,再去了解什么是面向对象,这样学习会更有效率,达到事半功倍的效果。并且Python语言的入门程序比较简单,前期的学习也比C语言要简单,但是先学Python的话,可能会导致对底层实现方面了解...