| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 773 人关注过本帖
标题:谁来帮我看看这个程序哪里有问题 为什么执行不出来??!!
只看楼主 加入收藏
菜鸟向前冲
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2009-11-6
结帖率:0
收藏
已结贴  问题点数:10 回复次数:5 
谁来帮我看看这个程序哪里有问题 为什么执行不出来??!!
#include<string.h>
void fun(char *p,char *q,char *c)
{int k=0;
while(*p!=*q&&(*p!='\0'))
{if(*p<*q)c[k]=*q;
else c[k]=*p;
if(*p)p++;
if(*q)q++;
k++;
}
main()
{char a[10]="aBCDeFgH",b[10]="ABcd",c[80];
fun(a,b,c);
printf("the string a:");puts(a);
printf("the string b:");puts(b);
printf("the string c:");puts(c);
}
2009-12-25 12:47
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:2 
把你的程序好好排排版 ,就能看出是为什么了。
2009-12-25 12:56
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:2 
void fun(char *p,char *q,char *c)
{int k=0;
while(*p!=*q&&(*p!='\0'))
{if(*p<*q)c[k]=*q;
else c[k]=*p;
if(*p)p++;
if(*q)q++;
k++;
}
}
2009-12-25 13:08
sidooh
Rank: 4
等 级:业余侠客
帖 子:121
专家分:265
注 册:2009-6-26
收藏
得分:2 
程序代码:
#include<string.h>
#include <stdio.h>

void fun(char *p,char *q,char *c){
    int k=0;
    while((*p!=*q)&&(*p!='\0')){
        if(*p<*q)c[k]=*q;
        else c[k]=*p;
        if(*p)p++;
        if(*q)q++;
        k++;
    }   
}

int main(){
    
    char a[10]="aBCDeFgH",b[10]="ABcd",c[80];
    
    fun(a,b,c);
    printf("the string a:");puts(a);
    printf("the string b:");puts(b);
    printf("the string c:");puts(c);
    
    return 0;
    
}

fun()函数的定义缺少了对应的括号}
没有引入stdio.h

你不会看编译器的错误提示?
2009-12-25 13:10
liangwenbc
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
帖 子:168
专家分:174
注 册:2008-6-11
收藏
得分:2 
你是想比较两个字符串里对应的字符的大小然后把较大的字符存入字符数组c吧。下面我改了一下
#include<string.h>
void fun(char *p,char *q,char *c)
{int k=0;
while(*q!='\0')/*注意这个应该取*q而不是*p*/
{if(*p==*q) {p++;q++;continue;}/*如果相当则转到下个字符然后结束本次循环*/
else if(*p<*q)c[k]=*q;
else c[k]=*p;
if(*p)p++;
if(*q)q++;
k++;}
}
main()
{char a[10]="aBCDeFgH",b[10]="ABcd",c[80];
fun(a,b,c);
printf("the string a:");puts(a);
printf("the string b:");puts(b);
printf("the string c:");puts(c);
getch();
}

qq7434391
2009-12-25 14:11
liangwenbc
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
帖 子:168
专家分:174
注 册:2008-6-11
收藏
得分:0 
以下是引用菜鸟向前冲在2009-12-25 12:47:53的发言:

#include<string.h>
void fun(char *p,char *q,char *c)
{int k=0;
while(*p!=*q&&(*p!='\0'))
{if(*p<*q)c[k]=*q;
else c[k]=*p;
if(*p)p++;
if(*q)q++;
k++;
}
main()
{char a[10]="aBCDeFgH",b[10]="ABcd",c[80]; ...
while(*p!=*q&&(*p!='\0'))
按照你上面括号里的这个条件只能比较到第2个字符循环就结束了,比较不到后面的
a跟A比较
B跟B比较(不满足以上条件)
C跟c比较
  .
  .
  .

qq7434391
2009-12-25 14:16
快速回复:谁来帮我看看这个程序哪里有问题 为什么执行不出来??!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029045 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved