| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2987 人关注过本帖
标题:明明定义了 程序调试却出现 'i' : undeclared identifier
只看楼主 加入收藏
月下无痕4
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-1-27
结帖率:75%
收藏
已结贴  问题点数:18 回复次数:4 
明明定义了 程序调试却出现 'i' : undeclared identifier

利用指针求一个字符串的长度 调试结果说 'i' : undeclared identifier  可我明明已经定义了啊
不能够明白 虚心请教
#include<stdio.h>
void main()
{
    char str[20];
    char *p;
    p=str;
    int i=0;
    scanf("%s",p);
    while((*(p+i))!='\0')
    {
      i++;
    }
    printf("%d\n",i) ;
     


}
搜索更多相关主题的帖子: 字符串 
2016-02-08 13:49
月下无痕4
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-1-27
收藏
得分:0 
#include<stdio.h>
void main()
{
    char str[20];
    int i=0;
    scanf("%s",str);
    while(str[i]!='\0')
    {
      i++;
    }
    printf("%d\n",i) ;
     


}

改成这样 编译是没有错误的  这其中有很大差别吗?
2016-02-08 13:57
zmbilx
Rank: 2
等 级:论坛游民
帖 子:22
专家分:80
注 册:2015-7-18
收藏
得分:18 
程序代码:
#include<stdio.h>
void main()
{
    char str[20];
    char *p;
   int i=0;
    p=str;
//    int i=0;
    scanf("%s",p);
    while((*(p+i))!='\0')
    {
      i++;
    }
    printf("%d\n",i) ;
     


}

在C语言,声明语句必须放在开头。由于   int i=0; 之前有    p=str;,所以会出现这样的问题,你只要返这两句换一下即可。

每天OJ一道题,快快乐乐过大年
2016-02-08 16:19
月下无痕4
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-1-27
收藏
得分:0 
回复 3楼 zmbilx
原来是这个问题  非常感谢
2016-02-08 19:28
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
樓主4個主題帖,3個算法,最後返回來問一個最基本的常識問題。

授人以渔,不授人以鱼。
2016-02-08 19:57
快速回复:明明定义了 程序调试却出现 'i' : undeclared identifier
数据加载中...
 
   



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

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