乐瑜 发表于 2020-11-7 16:26:10

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);
}

jackz007 发表于 2020-11-7 16:57:39

      在我这里使用 TDM-GCC 9.2.0 编译,这一句
      char * str="I am a 556student." ;
      会报错,修改为下面的代码后编译、运行一切正常
      char str[] = "I am a 556student." ;
      编译、运行实况:
D:\00.Excise\C>g++ -o x x.c

D:\00.Excise\C>x
I am a student.

D:\00.Excise\C>

乐瑜 发表于 2020-11-7 17:10:26

jackz007 发表于 2020-11-7 16:57
在我这里使用 TDM-GCC 9.2.0 编译,这一句

      会报错,修改为下面的代码后编译、运行一切 ...

这个是一道读程序的题,但是我用软件跑不出结果{:5_104:}

巴巴鲁 发表于 2020-11-8 08:25:47

char *s定义一个字符串,这个字符串就相当于一个常亮,无法被修改
而程序试图修改常量的值,就会报错

乐瑜 发表于 2020-11-8 17:46:07

巴巴鲁 发表于 2020-11-8 08:25
char *s定义一个字符串,这个字符串就相当于一个常亮,无法被修改
而程序试图修改常量的值,就会报错

懂了,谢谢
页: [1]
查看完整版本: c语言-字符串&&函数