您的位置:

c语言高手指点,c语言 技巧

本文目录一览:

C语言题,求高手指点!?

答案A 错误纠正

int  p;

   scanf("%d",p);

--------------------------------

  int *p,a;

  p=a;

  scanf("%d",p);

  --------------------------------------

以上两种都可以。

分析:编译器不会对“局部变量”  初始化,全局变量 会默认被初始化为0.

答案A 在使用指针变量P之前没有对其初始化,不能使用。

2. 答案B 错误纠正

  int *s,k;

  s=k;

   *s=100;

   通A,都是指针在使用前没有初始化。

3.答案C 正确

4. 答案D 错误

s=p;是错误的

因为s是 一个整型数指针,而p是字符型指针。指针类型不同的两个变量不能赋值。

======================================================

希望我的回答对你有所帮助,很高兴和你一起学习和讨论C语言编程。

关于C语言的,高手指点!!!!!!

是不是代码没贴完整,我怎么看不懂你的意思

brbrbrbrbrbr什么输入字符串,你一共不就两个int型变量,一个输入int的scanf吗?

brbrbrbrbrbr什么叫time一直加加,如果可以执行到time加,那前面那句scanf当然会执行到的.希望你再解释的清楚一些.

brbrbrbrbr

brbrbrbrbr谁说字符串赋给整型值就要取0了....

brbrbrbr

brbrbrbr我刚才实验了一下,

brbrbrbrint guess;

brbrbrbr scanf("%d",guess);

brbrbrbr printf("%d",guess);

brbrbrbr结果是:我输入abc,输出3129

brbrbrbr并不是你说的取0

brbrbr

brbrbr你用的什么编译器,我是用tc的.输入任何字符串,得到的都是3129

brbr

brbr我想问题可能是这样的.你第一次输入一个范围符合的数,11111,当然他会进入循环,让你输入guess的值,这个时候int型guess已经有了11111这个值了,如果你再给他一个abc字符串,程序就默认不接受,还是以11111进行处理,所以就进入了一个死循环.

br数据类型有的时候虽然可以相互转换,但是最好还是谨慎使用,char和int的确可以通过ascii码相互转换.字符串和int怎么能通用呢.没见过scanf %d 输入一个字符串的...

这大概就跟编译器内部有关了,我曾经遇到过类似的问题,在变量一次赋值失败后,循环将不再接受后面的赋值

有人说过这是缓存空间接收数据的问题,当前面你输入一个int型数据,后面输入一个字符串,这时编译器知道这个数据类型是错的,不接收,他就自动往前找缓存中的其他数据,当找到一个int型时,它就自动赋给了变量,所以后来都不用你手动赋值的了.

你可以用单步调试一下,到scanf那里的时候程序是黑了一下跳了过去的.

我想学习C语言。求高手指点应该怎么做?

首先申明,本人不是什么高手,但自认为对c还比较熟悉,可以给你提点建议:

1、学习C语言,要从入门到精通,需要读哪些书(从简单的到难的排序,越详细越好,最好都能注释下选择这本书的理由)?

入门阶段:还是老谭那本。

理由:虽然不能说它写得有多好,但是你现在要做的是入门,要快速的掌握c的基本语法,这本书很好理解,能够让你在最短的时间内大致掌握这门语言的概更。

第二阶段:《c程序设计语言》(The

C

Programming

Language)和《C语言解惑》(The

C

puzzle

book)

理由:《the

c

programming

language》号称c语言圣经。其实它也只是一本介绍基础语法的书,不做入门教程是因为对于初学者来说,它难度稍大,之所以推荐,是因为它能让你---系统而严密的---把C语言知识构架整理一遍。《c语言解惑》,系统的整理了c语法中容易让你产生迷惑或容易犯错的地方(如a+++++b等),这时候你才算真正开始学习c语言了.(以上两本现在出重印了,应该在书店可以买到)

第三阶段:《C陷阱与缺陷》(C

Traps

and

Pitfalls)和《高质量c/c++编程指南》

理由:《c陷阱与缺陷》是让对c的理解有质变得一本书,如如何理解(*(void(*)())0)()等问题,我的感觉是看完这本书让我真正从小菜鸟变成了老菜鸟。《高质量...》,终于有一本国产的了,呵呵,我认为这本书是把你从土匪变成正规军的最好指南,该书涉及编程风格、效率、重载、健壮性等一些列之前很难注意的问题。(以上两本《c陷阱...》已绝版,不过网上可以下载到中英文版,《高质量...》本身就是网络书,很容易找到)

其它推荐书:《c专家编程》《c和指针》

说实话这两本书我并没有看过(或看完),但有口皆碑,都是经典之作,不过都已经绝版,仔细找找网上有下载的。

2、有哪些好的C语言练习(越难的越好)?

对语言本身的练习其实就是你对它的理解,用得多了,注意得多了,自然就ok了。其它思维上的练习主要是算法和数据结构方面的,严老的《数据结构题集(C语言版)》如果你能做完就相当了不起了。

3、要学精C语言,还要具备哪些条件?

其实c语言也只是一个工具而已,就像锄头一样,你每天挖地锄田自然就精通它了。只要不是白痴,应该都没有问题。

4、C语言学完后接下去要学哪些语言好?

这个我就没有资格回答了,因为除了少量汇编和c++,我大部分只用到了c,不过也许是一脉相承的c++吧。c是面向过程的语言,学习c++面向对象的思想。

5、各位网友如果在学习计算机语言方面还有一些独到的见解,欢迎提出!

不是我提出的,不过真的很经典——“天下程序一大抄”,呵呵。

求高手指点C语言问题

//下面是正确的程序,输入四个数时请用英文逗号隔开。如:4,2,1,3

#includestdio.h

void main()

{

void max(int *x,int *y);

int a,b,c,d;

printf("请输入四个整数:\n");

scanf("%d,%d,%d,%d",a,b,c,d);

max(a,b);

max(a,c);

max(a,d);

max(b,c);

max(b,d);

max(c,d);

printf("从大到小的顺序是:%d %d %d %d\n",a,b,c,d);

}

void max(int *x,int *y)

{

int t;

if(*x*y)

{

t=*x;

*x=*y;

*y=t;

}

}