首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于指针有个小疑义

2013-02-19 
关于指针有个小疑问?#include stdio.h#include string.h#define LEN 100#define LIMIT 2char *find_ch

关于指针有个小疑问?

#include <stdio.h>
#include <string.h>
#define LEN 100
#define LIMIT 2
char *find_char(char, char *);
int main(void)
{
    
    char c;
    char line_w[LEN];
    char *p;
    
    printf("你有%d次的测试机会\n", LIMIT);
    for(int i = 1; i <= LIMIT; i++)
    {
        printf("请输入一个字符:");
        c = getchar();
        
        while(getchar() != '\n')continue;
        
        printf("请输入一行:\n");
        gets(line_w);
        
        p = find_char(c, line_w);
        
        printf("该字符的地址为:%p\n", p);
        printf("使用函数strchr的结果为:%p\n", strchr(line_w, c));
    
    }
    
    return 0;
}

char *find_char(char c, char *source)
{
    
    while(*source)
    {
        if(c == *source)
        {
            return source;
        }
        
        source++;
    }
    }


函数find_char中改变了source 值,为什么line_w的值却没变~~~
记得数组名,是不可以操作的~~~
[解决办法]
需要传指针的地址,这样传参传进去的只是副本
[解决办法]
 p = find_char(c, line_w);

这里 line_w是实参
source是形参

实参,形参,,,,这是不同的俩变量

热点排行