你C语言还没入门的赶脚啊!
第一个: int main() //是指main函数的返回值是int型的,与最后的“return 0;”对应。char是申明的程序中变量的类型,你想申明申明类型都可以,两者是完全无关的!
第二个:~scanf 我是没见过这种用法的,百度查了下也没找个,书上更没有,C++中构造函数才有这个用法,~scanf是错误用法。
第三个:c = getchar()是获取一个字符,然后赋值给字符变量c,如果只是getchar();那么仅仅是获取字符,而不做其他的操作。利用这个可以中断程序,等待用户输入任意字符时,才做下一步操作!
楼上也是菜鸟啊~~~~
你这一段程序很好,很完整,没有一句多余的内容。
待我慢慢跟你说来:
1、
int main(){
//为什么是int?下面的char定义的不是字符么。。。
答:这里的int跟你下面程序里边的变量无关。它是指main()这个主程序返回的变量类型,当然,大多数主程序不需要返回变量,所以这个int即是必须的(C语言规定的),同时作为初级学习者来讲也是先不用管它的。
2、
char a,b,c;
while(~scanf("%c%c%c",&a,&b,&c)){
//为什么这里要取反
答:这里的~符号不是取反,而是一种并不太规范的特殊用途,它代表把scanf() 进而的变量全部取一遍,如scanf("%c%c%c",&a,&b,&c)是取三个字符,但是如果你输入的多于三个,则每一次只取三个,剩余的留在缓冲区内。与 while(~scanf())(这是一个当循环语句)一起使用,第一次取三个做完循环体后,第二次再回到这一句取三个,.......,直到取完为止,跳出循环。
(先发给你这一部分,后面我继续写)