| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 589 人关注过本帖
标题:这段代码为何在VC++6.0中总是异常终止?
只看楼主 加入收藏
apapaxionga
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-8-16
收藏
 问题点数:0 回复次数:5 
这段代码为何在VC++6.0中总是异常终止?
利用指针数组输出字符传(当输入end时结束)
#include<stdio.h>
#include<string.h>
main()
{
  char *string[10];
  int k=0,s=0;
  while(k<10)
   {
     printf("Please enter a word:");
     scanf("%s",&string[k]);     //往指针数组中输入字符传
     if(strcmp(string[k],"end"))      //当输入end时结束
      break;
     k++;
   
   }
  for(s;s<k;s++)
    puts(string[k]);    //输出指针数组
}

[[it] 本帖最后由 apapaxionga 于 2008-8-16 19:00 编辑 [/it]]
搜索更多相关主题的帖子: VC 代码 
2008-08-16 18:44
csynyk
Rank: 1
等 级:新手上路
威 望:1
帖 子:114
专家分:0
注 册:2008-8-9
收藏
得分:0 
代码虽短,但存在两个致命的问题!
1、指针数组的每个元素都没有分配空间,成了野指针
    char *string[10];   string[0]~string[9]分别指向哪里? 如果没有明确的指向地址,每个字符串的内容又能往哪里存?下面这个贴子里有我以前写的一段代码,你可以去看看!
https://bbs.bccn.net/viewthread.php?tid=227476&page=1#pid1351111

2、if(strcmp(string[k],"end"))      //当输入end时结束
          break;
    ----------------------------------上面的if()表示当输入不是end时结束
   如果想要输入end时结束,应该是:
  if(!strcmp(string[k],"end"))      //当输入end时结束
          break;

http://blog./csynyk
2008-08-16 19:14
qianduoduo
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-8-16
收藏
得分:0 
文章看了,谢
2008-08-16 19:42
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 
这段代码可以运行在非中文操作系统上:
#include <string.h>
#include <stdio.h>
#include <tchar.h>
void main()
{
    TCHAR str[512][512] = {0};
    int cnt = 0;
    while(1)
    {
        _tprintf(_T("请输入字符串:\n"));
        _tscanf(_T("%s"), str[cnt]);
        if(!_tcscmp(str[cnt], _T("end"))) break;
        cnt++;
    }
    for(int i = 0; i < cnt; i++)
        _tprintf(_T("%s\n"), str[i]);
}

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-08-16 19:59
s54661559
Rank: 1
来 自:廣州
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-8-16
收藏
得分:0 
我想問...對我這初哥來說...什麽時候能有你們的成績?
2008-08-16 22:02
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 
慢慢来,没有哪个天生就是高手,想成为高手而却不想付出就永远无法成为高手
高手是从初哥开始地

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-08-17 10:15
快速回复:这段代码为何在VC++6.0中总是异常终止?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.080750 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved