写程序时遇到的奇奇怪怪的问题

img


运行的时候发现不能运行彻底 卡了一下 然后弹出来一个窗口,不明白是什么意思

有好多可能的原因,建议你将源码发出来

【相关推荐】



  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7716423
  • 这篇博客你也可以参考下:关于在一个字符串中查找连续出现次数最多的一个字符,并显示其所在的开始下标和次数的解法
  • 您还可以看一下 刘建萍老师的人工智能系列课程零基础讲解知识点和实例应用线性回归梯度下降逻辑回归课程中的 讲解机器学中会涉及到的有关数学方面的知识储备有哪些小节, 巩固相关知识点
  • 除此之外, 这篇博客: 使用指针方法实现字符串逆序存放后再输出;用指针方法编写一函数,实现两个字符串的比较中的 使用指针方法实现字符串逆序存放后再输出 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

    编写程序:从键盘任意输入一个字符串,输出该字符串。然后,将该字符串逆序存放后再输出,要求用字符指针完成。(提示:逆序存放的函数接口:void invstr(char *s))

    #include<stdio.h>
    #include<string.h>
    void invstr(char *s)
    {
    	char b;
    	int len;
    	len=strlen(s); /*获取该字符串的长度*/ 
    	for(int i=0;i<len/2;i++){ /*该循环的目的是每次将字符串的头和尾换一下位置*/ 
    		b=*(s+i); /*字符串的第i个元素的地址暂时放到b里*/ 
    		*(s+i)=*(s+len-1-i); /*将字符串的倒数第i个元素换到第i个元素*/ 
    		*(s+len-1-i)=b; /*再将b存放的地址放回倒数第i个元素*/ 
    	}	
    }
    int main()
    {
    	char a[1000];
    	gets(a); /*输入字符串*/ 
    	printf("%s\n",a); /*正序输出一次*/ 
    	invstr(a); /*运行函数*/ 
    	printf("%s",a); /*逆序输出*/ 
     } 
    

    利用指针编程,用指针方法编写一函数,实现两个字符串的比较。编程点拨:即自己编写一个strcmp函数:strcmp(s1,s2),如果s1= s2,返回值为0,如果s1≠s2, 返回它们二者第一个不同字符的ASCII码差值(如"BOY"与"BAD", 第二个字母不同,"O"与"A"之差为79-65=14)。如果要s1>s2,则输出正值,如果s1<s2,则输出负值。

    #include<stdio.h>
    #include<string.h>
    void strcmp(char *s1,char *s2)
    {
    	int len,i=0,sum=0,lenmax;
    	lenmax = strlen(s1);
    	len = strlen(s2); 
    	if(lenmax < len){
    		lenmax = len;
    	}
    	for(i=0;i<lenmax and sum==0;i++){
    		if(*(s1+i) > *(s1+i)){
    			sum = *(s1+i) - *(s2+i);
    		}
    		if(*(s1+i) < *(s2+i)){
               sum = ( - (*(s1+i) - *(s2+i)));
    		}
    	}
    	printf("%d",sum);
    }
    int main()
    {
    	char s1[1000],s2[1000];
    	gets(s1);
    	gets(s2);
    	strcmp(s1,s2);
     } 
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

调试,出错的文件和行数已经告诉你了,单步执行加断点,找原因

代码