乐瑜 发表于 2020-11-7 17:07:28

c语言-指针&&字符串&&函数

/*这个程序哪里有问题吗?我得不出运行结果*/
#include<stdio.h>
void delnum(char * s){
      int i,j;
      for(i=0,j=0;s!='\0';i++){
                if(s<'0'||s>'9'){//这里还能输出s
                        s=s; //我调试的时候大概是在这里出现的问题
                        j++;
                }
      }
      s='\0';
}
void main()
{
      char * str="I am a 556student.";
      delnum(str);
      printf("%s",str);
}

xieglt 发表于 2020-11-7 20:20:22

本帖最后由 xieglt 于 2020-11-7 20:22 编辑


#include<stdio.h>
void delnum(char * s){
        int i,j;
        for(i=0,j=0;s!='\0';i++){
                if(s<'0'||s>'9'){//这里还能输出s
                        s=s; //我调试的时候大概是在这里出现的问题
                        j++;
                }
        }
        s='\0';
}
/*
char* str="I am a 556student."; 这样定义的字符串是个常量,不能被修改的,修改会导致非法内存访问错误
改成这样定义就可以了.
charstr[]="I am a 556student.";
*/
void main()
{
        charstr[]="I am a 556student.";
        delnum(str);
        printf("%s",str);
}

乐瑜 发表于 2020-11-7 21:17:17

xieglt 发表于 2020-11-7 20:20


好的,非常感谢你

乐瑜 发表于 2020-11-7 21:21:42

本帖最后由 乐瑜 于 2020-11-7 21:23 编辑

0⃣

乐瑜 发表于 2020-11-7 21:22:50

xieglt 发表于 2020-11-7 20:20


我还想要请问一下,这个str改成数组,那调用函数那里也需要把指针改成数组吗?如果想用指针完成这个功能,怎么改比较合适呢?

xieglt 发表于 2020-11-7 21:44:50

乐瑜 发表于 2020-11-7 21:22
我还想要请问一下,这个str改成数组,那调用函数那里也需要把指针改成数组吗?如果想用指针完成这个功能 ...

不需要改

乐瑜 发表于 2020-11-8 17:45:30

xieglt 发表于 2020-11-7 21:44
不需要改

ok
页: [1]
查看完整版本: c语言-指针&&字符串&&函数