1. 首页 > 科技

程序有问题,无法比较大小,有没有大神解决,代码如下? 解决这个问题

程序有问题,无法比较大小,有没有大神解决,代码如下?解决这个问题

C语言 为什么我3个字符串不能比大小 大家看下我程序帮我改下

*p1,*p2,*p3都只是每个字符串的第一个元素,你只有用if来判断第一个元素,而没有比较所有的元素。当然不能比较字符串的大小了,你需要使用一个while语句。将直到比较到一个字符串已经是\0了为止。还有最好不要用重新赋值的方法来交换字符串,直接将实参改为引用后,交换实参就可以了。这样比较方便。

void max(char * &p1,char * &p2)

{

char *tmp1,*tmp2,*tmp;

tmp1=p1,tmp2=p2;

while((*tmp1)!='\0'&&(tmp2)!='\0')

{

if(*tmp1<*tmp2)break;

tmp1++;

tmp2++;

}

if(*tmp1<*tmp2){

tmp=p1;

p1=p2;

p2=tmp;

}

return ;

}

int main(int argc, _TCHAR* argv[])

{

char a[20],b[20],c[20],*p1,*p2,*p3;

scanf("%s",a);

scanf("%s",b);

scanf("%s",c);

p1=a;p2=b;p3=c;

max(p1,p2);

max(p1,p3);

max(p2,p3);

printf("按大小输出字符串%s,%s,%s\n",p1,p2,p3);

getchar();

getchar();

return 0;

}

不过最好不要使用引用,最好还是在max函数外通过返回值来修改字符串。

c语言比较大小

printf("最小值是\n",i);输出格式没有%d

还有你的程序有误。例如输入20 10 15三个数按你程序输出最小值是15

#include<stdio.h>

main()

{

int a,b,c,i,j;

scanf("%d%d%d",&a,&b,&c);

if(a<b)

i=a;

else

i=b; //先a,b比较把小的赋给a

if(i>c)//再i,c比较

i=c;

printf("最小值是%d\n",i);

}

也可以用数组:

#include<stdio.h>

main()

{

int a[100],i,n,min;

printf("确定输入个数100以内:");

scanf("%d",&n);

for(i=0;i<n;i++)

scanf("%d",&a[i]);

min =a[0];

for(i=0;i<n;i++)

{if(min>a[i])

min=a[i]; }

printf("最小值是%d\n",min);

}

我家创维电视被广电禁了,系统是酷开的,我插u盘也不显示里面安装的应用,有大神能解决安装程序问题的吗

你好,

1,要想安装程序,那要是智能电脑,才行。

2,早期的酷开,只支持U盘看视频,而不支持用U盘安装程序。

手机下载打开腾讯游戏会闪退,进不去

闪退的原因和处理方法 

 1、缓存垃圾过多

平时在使用软件的过程中,会产生一些垃圾文件,如果长时间不清理会导致手机越来越卡,也会出现闪退状况。

进入设置–应用程序——全部——找到有问题的应用程序,清除数据或者缓存。(注:清除数据,会清除掉应用的个人设置、账户信息等。)

2、运行程序过多

如果不进行设置,很多软件都会自己运行,而手机后台程序过多会造成内存不足,从而造成应用闪退。如出现软件闪退,可先清理内存后再试试。

3、手机杀毒软件

部分手机软件存在着恶意代码,会被杀毒软件拦截因而不能正常进入,应该通过绿色下载平台或者使用软件商店来下载安全系数较高的游戏。

(注:以上三个原因都现在都可以通过安全软件清理,轻松解决。但需要注意在删除一些大型文件时请谨慎。)

4、应用版本问题

如果应用的版本较低,会导致应用软件不兼容,造成闪退。如果是版本太旧,更新为新版本即可。

如新版本如果出现闪退,是应用改版本还在调试中,无需担心,会很快修复。

5、网速问题

部分软件需要一个稳定的网络,使用的是2G/3G网络,造成闪退的可能性比较大,建议在有WiFi的情况下玩比较好。

6、缺少数据包

一些大型游戏需要数据包才能运行。所以要先安装好数据包才能使用。

7、系统不兼容

部分软件对版本有一定的要求,如果系统版本过低,软件是不能支持的,所以会闪退。

8、分辨率不兼容

一些软件对手机分辨率有一定的要求,如果手机分辨率不兼容,有部分软件就容易出现闪退或其它错误。