关于一段一段简单的c语言代码中代码的问题。求教。。。

求教下面一段C语言的代码,问题是。。。。。_百度知道
求教下面一段C语言的代码,问题是。。。。。
for(;/=0) return true:%d\&#47,什么叫“未被声明为函数;*数据入栈*//?”既然编译出错为什么还能运行出结果;/index&#39,peak()),谢谢;
printf(&quot!&#47,empty();/出栈的数据是;}/ } int main() { int i=0;出栈的数据是;* *
使用全局变量 模拟栈的操作 */10,pop());未被声明为函数 [默认启用]”;stdio:%d&#92.h&n&
return true1,开头的index并没有赋值.h&/#include&lt,为什么最终也能运行,pop());n&出栈的数据是?&*判断栈是否为空*/
printf(&=20));现在%s\
data[index++]=d;i&*查看栈顶的元素*/查看栈顶数据是;n&*数据出栈pop*/int index,pop()):%d\}/,用gcc编译的时候;bool push(int d){
if(index&;;&#47,并且得出结果 10 9 8 7 62,为什么出现 “内建函数'n&;
return 0;#include&;*全局变量*/int data[20];出栈的数据是;;
printf(&quot,pop());调用此方法先要判断栈是否为空
int pop(){return data[--index];i++) {
push(i+1);int peak(){return data[index-1];n&}/bool empty(){if(index&栈没有空&
printf(&quot:%d\
printf(&quot:&n&quot:%d\栈空了&quot?代码如下
提问者采纳
全局变量默认初始化为0的
将全局变量index赋值0后,用gcc编译的时候,依然出现出现 “内建函数'index'未被声明为函数 [默认启用]”,请问为什么啊?
#include&stdio.h&&int&main()&{&char&s[]&=&&abcdefghijklmnopqrstuvwxyz&;printf(&%s&,index(s,'b'));&&&return&0;&}index本来是个函数。上面的代码在你的机子上应该可以运行。不过有点编译器可能不支持。index(s,’b')表示在s中找到b然后返回'b'所在字符串的地址所以,原本是个函数,但是,你却把它定义成了一个整形变量。这里不同的编译参数,会导致不同的结果。默认是warning。这是很奇怪的,理由是一般c类库在占用常用的单词都会加上前缀__。不过这里作为 可以被调用的函数,也没什么可说的了。
提问者评价
太给力了,你的回答完美的解决了我的问题!
其他类似问题
供一下你的编译环境说明,gcc版本再上一下图;注释掉了)全局变量不用初始化,我redhat下试过没有问题的(我将#include &stdtool.h&gt:操作系统
Linux的……请问gcc版本怎么看啊……
linux也分很多版本, 这个在登录时可以看到,
redhat也可以在/etc/redhat-release中看版本gcc -v gcc --version都可查gcc的版本
来自团队:
为您推荐:
c语言的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁求一段C语言代码:其功能是解决一个数学排列问题,求一段C语言代码:用C语言解决下面的这个排列问题,有七个字母:A,B,C,D,E,F,G.输出满足以下四个条件的排列的个数!1.A和B必须紧挨在一起;2.C和F之间必须夹着任意两个字母;3.G不能排在第一个或者最后一个位置上;4.D一定要在F和A之间(F和A之间不一定只有D这么一个字母,可以有多个)
代码: //1.A和B必须紧挨在一起;bool CheckAB(const char *pszData, int nDataLen){ for (int i = 0; i < nDataL i++) {
if (pszData[i] == 'A')
if (i != 0)
if (pszData[i-1] == 'B')
if (i != nDataLen-1)
if (pszData[i+1] == 'B')
} } }//2.C和F之间必须夹着任意两个字母;bool CheckCF(const char *pszData, int nDataLen){ for (int i = 0; i < nDataL i++) {
if (pszData[i] == 'C')
if (i >= 3)
if (pszData[i-3] == 'F')
if (i = nDataLen) {
// 检查符合要求并显示
if (Check(pszData, nDataLen))
DisplayA_G(pszData);
} } for (int i = nD i < nDataL i++) {
swapData(pszData[nDepth], pszData[i]);
Sort1(pszData, nDataLen, nDepth+1);
swapData(pszData[nDepth], pszData[i]); }} void SortA_G(void){ char szData[] = "ABCDEFG"; const int nDataLen = 7; Sort1(szData, nDataLen);} int _tmain(int argc, _TCHAR* argv[]){ SortA_G(); return 0;}
输出结果:0001
ABCDGFE0002
ABCGDFE0003
ABDCEGF0004
ABDCGEF0005
ABDFEGC0006
ABDFGEC0007
ABECDGF0008
ABECGDF0009
ABGCEDF0010
ABGCDEF0011
BACDGFE0012
BACGDFE0013
BADCEGF0014
BADCGEF0015
BADFEGC0016
BADFGEC0017
BAECDGF0018
BAECGDF0019
BAGCEDF0020
BAGCDEF0021
CEGFDBA0022
CEGFDAB0023
CGEFDAB0024
CGEFDBA0025
EBACDGF0026
EBACGDF0027
EABCDGF0028
EABCGDF0029
EFDGCBA0030
EFDGCAB0031
EFGDCBA0032
EFGDCAB0033
FDECGAB0034
FDECGBA0035
FDGCEAB0036
FDGCEBA0037
FDGCABE0038
FDGCBAE0039
FEDCGAB0040
FEDCGBA0041
FEGCDAB0042
FEGCDBA0043
FGDCEAB0044
FGDCEBA0045
FGDCABE0046
FGDCBAE0047
FGECDAB0048
FGECDBA请按任意键继续. . .
为您推荐:
其他类似问题
扫描下载二维码504 Gateway Time-out
504 Gateway Time-out后使用快捷导航没有帐号?
美国“程序员世界”无门槛从事编程后,让我最快乐的十件事写代码,更需要设计代码成为优秀程序员的十个有效方法CUnit----C语言的单元测试框架
编程语言最新帖子
分享交流最新帖子
综合技术最新帖子
最新技术问答
最新代码分享
最新交流主题
C语言论坛最新贴子
C++论坛最新帖子
Java论坛最新帖子
友情链接(企鹅93-853-855)&&&&&&&&&&&&&&&&&&
( 粤ICP备号-2 )

我要回帖

更多关于 c语言代码 的文章

 

随机推荐