啊哈磊_编程从这里起步

标题: 求大神来解析这段代码为什么没有输出字符 [打印本页]

作者: 超神级    时间: 2013-7-31 16:51
标题: 求大神来解析这段代码为什么没有输出字符
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main()
  4.    { int i,j;
  5. char a[][5]={{'B','A','S','I','C',},{'D','B','A','S','E'}};
  6.         for(j=0;i<=1;i++)
  7.     {for(j=0;j<=4;j++)
  8.     printf("%c",a[i][j]);
  9.     printf("\n");}
  10.    
  11.         system("pause");
  12.         return 0;
  13. }
复制代码
为什么没有输出啊~从别网站上抄的不能复制累死了。。。。

作者: rosynirvana    时间: 2013-7-31 17:01
你抄错了一个字符
for(j=0;i<=1;i++)->
  1. for(i=0;i<=1;i++)
复制代码

作者: 超神级    时间: 2013-7-31 17:39
rosynirvana 发表于 2013-7-31 17:01
你抄错了一个字符
for(j=0;i

http://see.xidian.edu.cn/cpp/html/52.html       7.13题。。。。刚才我改过来了还是没有输出。。。。。
作者: rosynirvana    时间: 2013-7-31 17:42
超神级 发表于 2013-7-31 17:39
http://see.xidian.edu.cn/cpp/html/52.html       7.13题。。。。刚才我改过来了还是没有输出。。。。。

不是很明白,你要表达几个意思?
7.13怎么了?和上面那段代码有什么关系?
作者: 超神级    时间: 2013-7-31 18:01
rosynirvana 发表于 2013-7-31 17:42
不是很明白,你要表达几个意思?
7.13怎么了?和上面那段代码有什么关系?

pritnf[code第一个问题,表达2个问题\n[/code]
printf
  1. 第一个问题是我把for(j=0;i<=1;i++)改为for(i=0;i<=1;i++)还是什么都没有输出
复制代码
printf
  1. 上面给我发了个网站地址是一些C语言的入门资料,希望你可以帮忙看下他们的资料有问题吗。7.13是那个网页的题的标号也就是我上面发的题目。。。
复制代码
return 0;
}
作者: 超神级    时间: 2013-7-31 18:18
标题: 一个好标题,将获得更多人关注哦。
rosynirvana 发表于 2013-7-31 17:42
不是很明白,你要表达几个意思?
7.13怎么了?和上面那段代码有什么关系?

还在?
作者: rosynirvana    时间: 2013-7-31 18:19
1 没结果的再把整段代码贴一遍

2 看上去很多写法偏过时
  1. #include"stdio.h"
  2. main()
  3. {
  4.   char st[15];
  5.   printf("input string:\n");
  6.   gets(st);
  7.   puts(st);
  8. }
复制代码
标准头文件不应该用"stdio.h“,而是<stdio.h>
gets是不该使用的,有缓冲区溢出的问题,这里只分配了15个字符的空间,超出15之后会破坏掉程序所在的空间
作者: 超神级    时间: 2013-7-31 18:29
rosynirvana 发表于 2013-7-31 18:19
1 没结果的再把整段代码贴一遍

2 看上去很多写法偏过时标准头文件不应该用"stdio.h“,而是

收获颇丰!搞明白了一个以前迷惑的问题
  1. gets是不该使用的,有缓冲区溢出的问题,这里只分配了15个字符的空间,超出15之后会破坏掉程序所在的空间
复制代码
我看过的教程里都没说超出空间的后果,
作者: rosynirvana    时间: 2013-7-31 18:35
一般的实现中超出的部分也是照单全收,于是可以写到别的变量的地址上,甚至把代码结构破坏掉
如果一段代码不加说明地用gets,这段代码就没有看下去的必要了
作者: 超神级    时间: 2013-7-31 19:38
rosynirvana 发表于 2013-7-31 18:35
一般的实现中超出的部分也是照单全收,于是可以写到别的变量的地址上,甚至把代码结构破坏掉
如果一段代码 ...

嗯嗯。     
作者: lihongjian987    时间: 2013-8-2 21:17

        for(j=0;i<=1;i++)

   里面应该是i,不是j
作者: 超神级    时间: 2013-8-2 21:18
lihongjian987 发表于 2013-8-2 21:17
for(j=0;i

是i也不输出
作者: rosynirvana    时间: 2013-8-2 21:46
超神级 发表于 2013-8-2 21:18
是i也不输出

完整代码是什么样子的
上次我问了你好像没看到
作者: 超神级    时间: 2013-8-2 22:23
这个就是那个图片

TEX9M3(}GZ]IN{HO]}5[4Z1.jpg (28.7 KB, 下载次数: 0)

TEX9M3(}GZ]IN{HO]}5[4Z1.jpg

作者: 超神级    时间: 2013-8-2 22:23
rosynirvana 发表于 2013-8-2 21:46
完整代码是什么样子的
上次我问了你好像没看到

我发了个图片你看下。。
作者: rosynirvana    时间: 2013-8-2 22:46
超神级 发表于 2013-8-2 22:23
我发了个图片你看下。。

这段我试过,没问题的
我是问你写的是什么
作者: 超神级    时间: 2013-8-2 22:56
rosynirvana 发表于 2013-8-2 22:46
这段我试过,没问题的
我是问你写的是什么

掌握字符熟悉字符的原理。。。。
作者: rosynirvana    时间: 2013-8-2 23:42
超神级 发表于 2013-8-2 22:56
掌握字符熟悉字符的原理。。。。

我知道你要干什么
我问的是,你写的代码是什么
作者: lihongjian987    时间: 2013-8-3 13:36
[img]file:///C:/Documents%20and%20Settings/Administrator/Application%20Data/Tencent/Users/413355981/QQ/WinTemp/RichOle/T%60MN(C4%7D[0@_7]J3)0%7BE%7BFO.jpg[/img]

T`MN(C4}[0@_7]J3)0{E{FO.jpg (35.96 KB, 下载次数: 11)

T`MN(C4}[0@_7]J3)0{E{FO.jpg

作者: 超神级    时间: 2013-8-3 19:59
rosynirvana 发表于 2013-8-2 23:42
我知道你要干什么
我问的是,你写的代码是什么

其实我也不知道。。。还有代码是我打错了。。。刚刚发现!!。。。。。。。。。。。。。。。。。。。。。。。。。。
作者: 超神级    时间: 2013-8-3 20:00
lihongjian987 发表于 2013-8-3 13:36

。。。。。。。无语了。居然没发现




欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2