C语言字符串指针的一个小问题

问题描述

C语言字符串指针的一个小问题

题目如图,答案是又定义了一个指针变量做的。而我的答案编译出来结果也对,就是会运行结束之后出现一个警告对话框。不明白怎么回事,第三幅我的答案有什么问题吗?请问如果不用答案的那种编译方法,我的这种方法可不可行?能改进不报错吗?

解决方案

你的程序没有发现问题

 #include <stdio.h>
void fun(char * a)
{
    int i = 0, j = 0;
    while (a[i] == '*')
        i++;
    for (; a[i] != ''; i++, j++)
        a[j] = a[i];
    a[j] == '';
}
int main()
{
    char str[] = "123**aa***";
    fun(str);
    printf("%s", str);
    return 0;
}

http://codepad.org/m76sEjpK

你可以自己在线修改运行。
我测试了几种典型情况都是对的。

解决方案二:

会报这样的错,就是用visualC++,求解……

解决方案三:

void fun(char p)
{
int i=0,j=0;
while(p[i]=='
')
i++;
for(;p[i]!='';i++,j++)
{
p[j]=p[i];
}
p[j]='';
}

解决方案四:

c语言中的一个小问题
C语言中一个小问题
一个郁闷的C语言小问题

时间: 2025-01-30 18:18:03

C语言字符串指针的一个小问题的相关文章

C语言 字符串指针详解及示例代码_C 语言

C语言中没有特定的字符串类型,我们通常是将字符串放在一个字符数组中,这在<C语言字符数组和字符串>中已经进行了详细讲解,这里不妨再来演示一下: #include <stdio.h> int main(){ char str[] = "http://c.biancheng.net"; int len = strlen(str), i; //直接输出字符串 printf("%s\n", str); //每次输出一个字符 for(i=0; i<

printf-c语言中阶乘的一个小问题,求解答

问题描述 c语言中阶乘的一个小问题,求解答 #include #include #include #include int main() { const int MODE=1000000; int s=0; int i,j,n; scanf("%d",&n); for(i=1;i<=n;i++) { int factorial=1; for(j=1;j<=i;j++) factorial=(factorial*j%MODE); s=(s+factorial)%MOD

c语言-关于opengl的一个小游戏

问题描述 关于opengl的一个小游戏 刚学的图形学,老师只讲了点理论就要我们做课设,所以opengl都没来得及认真学.在做一个小游戏,需要从窗口上方随机的一个位置掉下来一个东西,在这个东西运动一段距离后,还有陆陆续续掉东西(屏幕上会出现多个东西,而且运动轨迹不同,也不会彼此收到影响).我只能做到一个物品消失后再生成,怎样实现多个物品在屏幕上依次出现并做各自的运动?希望有经验的各位多多指教,提供一种方法,能有源码参考就更好了.谢谢!用C语言实现. 解决方案 http://www.pudn.com

go指针的一个小坑

几乎可以肯定的说,go语言中除了闭包在引用外部变量的时候是传引用的,其他的时候都是传值的.如果你说形参可以定义为指针.好吧,那么告诉你这个指针的值其实是按照传值的方式使用的. 下面看个很浅显的例子: func stillTest(v int) { v = v + 100 } i := 100 fmt.Println("i ", i) stillTest(i) fmt.Println("after i ", i) 输出: i 100 after i 100 两个值是不

c语言字符串一个问题……

问题描述 c语言字符串一个问题-- 题目如图,我记得以前做字符串可以用这种遍历的方法的,不知道这次为啥结果都是得零.求大神解释-- 解决方案 你那个 for里面的条件写错了,应该是 for(i=0;s[i] != '';i++) 你改一下试试 解决方案二: i != '' -> s[i] != '' 解决方案三: 关于C语言字符串拷贝的一个问题[C语言]字符串的各种问题C语言读取字符串问题 解决方案四: s[i] != '' 解决方案五: 循环条件是s[i]!=0 解决方案六: 循环条件是s[i

c语言-关于C语言 指针数组的小问题

问题描述 关于C语言 指针数组的小问题 指针数组赋值(字符串)后,可以单独引用某一个字符串中的第X个字符(单个字符)吗?输出必须用%s 不能用%c ?? 解决方案 楼主是要这种吗? char *str[3] = {"skjf", "sd", "askjfssf"}; printf("%cn", str[0][3]); //打印出f printf("%cn", *(str[2] + 3));//打印出j 解决

ascii-C语言文件读写和类型转换的一个小问题

问题描述 C语言文件读写和类型转换的一个小问题 #include <stdio.h> #include <Windows.h> main() { FILE *f; int c; errno_t err = fopen_s(&f,"E:\workspace\TVPLAY\data\diffFrame\txts\file2.txt","r"); if (err) { printf("can't open filen")

c语言-C语言利用指针来存输入的字符串的问题

问题描述 C语言利用指针来存输入的字符串的问题 这个函数是可以得到str的: #include <ctype.h> char * getword(char * str) { int i; int ch; while ((ch = getchar()) != EOF && !isspace(ch)) *str++ = ch; *str = ''; if (ch == EOF) return NULL; else { while (ch != ' ') ch = getchar()

c语言-有关C语言数组的一个小问题

问题描述 有关C语言数组的一个小问题 char paidian; paidian = "34567890JQKA2"[(num - 1) / (4 * JIFUPAI)]; 解决方案 C语言中一个小问题c语言中的一个小问题关于<c语言的一个小问题>的补充 解决方案二: 你这个paidian什么意思?"34567890JQKA2"是字符串[(num - 1) / (4 * JIFUPAI)]似乎是个数字?这个没看懂也不知道你的问题是啥 解决方案三: 难道是