111222233333 发表于 2018-6-8 20:36:37

判断字符串的长度,为什么编译通过,但是运行到一半就出现停止运行

/*是不是我的指针出错误了,为什么每次做指针的时候都会出现停止运行*/


# include <stdio.h>



void main(){

int panduanchangdu(int *p1);
printf("请输入一个字符串:\n");
int *p;
scanf("%s",&p);
int x;
x=panduanchangdu(p);
printf(" 字符串的长度是%d:\n",x);


}

intpanduanchangdu(int *p1){
   int i;
   int j=0;
   for(i=0;*(p1+i)!='\0';i++){
       j++;
   
   }
return j;

}

ba21 发表于 2018-6-8 20:48:16


int *p;
scanf("%s",&p);// 大哥p 是指针是存地址的,不是存放数据的。格式也不是%s

按你意愿写的代码,一踏糊涂。。
先把基础打好吧。

111222233333 发表于 2018-6-8 20:50:39

ba21 发表于 2018-6-8 20:48
int *p;
scanf("%s",&p);// 大哥p 是指针是存地址的,不是存放数据的。格式也不是%s



那我想输入一个字符串然后定义一个指针变量指向它,怎么写呀?

111222233333 发表于 2018-6-8 20:54:19

111222233333 发表于 2018-6-8 20:50
那我想输入一个字符串然后定义一个指针变量指向它,怎么写呀?

我是初学者很多问起不懂多多指教谢谢

111222233333 发表于 2018-6-8 20:59:05

111222233333 发表于 2018-6-8 20:50
那我想输入一个字符串然后定义一个指针变量指向它,怎么写呀?

我并不想通过数组实现就只想通过指针可以吗?

ba21 发表于 2018-6-8 21:14:53

111222233333 发表于 2018-6-8 20:54
我是初学者很多问起不懂多多指教谢谢

就算写个给你,你也不一定看得懂,还是慢慢先学着吧;一步一个脚印

111222233333 发表于 2018-6-8 21:17:48

ba21 发表于 2018-6-8 21:14
就算写个给你,你也不一定看得懂,还是慢慢先学着吧;一步一个脚印

你先给我写下吧这样我就记住了下次就不会再出错    申明:我不是大哥是大姐

人造人 发表于 2018-6-8 21:25:04

111222233333 发表于 2018-6-8 21:17
你先给我写下吧这样我就记住了下次就不会再出错    申明:我不是大哥是大姐

#include <stdio.h>

int StringLength(const char *string)
{
        int i = 0;
        while(string)
                ++i;
        return i;
}

int main(void)
{
        char *str = malloc(100);
        printf("请输入一个字符串:");
        scanf("%s", str);
        printf("字符串的长度是:%d\n", StringLength(str));
        free(str);
        return 0;
}

111222233333 发表于 2018-6-8 21:41:11

人造人 发表于 2018-6-8 21:25


谢谢你可以留个联系方式吗?

人造人 发表于 2018-6-8 21:46:09

111222233333 发表于 2018-6-8 21:41
谢谢你可以留个联系方式吗?

qq可以吗?
1440332527

111222233333 发表于 2018-6-8 21:53:33

人造人 发表于 2018-6-8 21:46
qq可以吗?
1440332527

发过来了同意下
页: [1]
查看完整版本: 判断字符串的长度,为什么编译通过,但是运行到一半就出现停止运行