一个C语言程序哪错了

来源:百度知道 编辑:UC知道 时间:2024/05/04 07:38:59
#include "stdio.h"
void fun(char *p,char *q,char *c)
{int k=0;
while (*p!!*q)
/*************found*************/
{
if (*p>=*q)
c[k]=*q;
else c[k]=*p;
if(*p) p++;
if(*q) q++;
/*************found*************/
k++
}
main()
{char a[10]="fshADfg",b[10]="sdAEdi",c[80]={'\0'};
fun(a,b,c);
printf("The string a:");puts(a);
printf("The string b:");puts(b);
printf("The string c:");puts(c);
}
还有就是那个 found 是什么意思?
另外我看到有一个程序里写着clrscr() 是清屏的意思吗?有必要写吗?
k++那个地方是我一时疏忽忘打了,不好意思,不是那里错了.请不要找那里,是手误,不是那错了,再重申一遍。那我想问那个while(*p||*q) 里的||怎么输的?我不会~~

这个程序的语法错误有三:
1.

while(*p!!*q) 有误,!!并非双目操作符,根据笔者对程序上下文的理解,此处应该是 while(*p||*q)

2.
k++后缺少分号

3.
函数fun缺少末尾的大括号

**********************************************

/*************found*************/ 这是注释,对程序运行不存在影响。

clrscr是清屏。

found是个人爱好做的标签。

clrscr() 是清屏的意思,没有一定非要写的。

k++
不会是这个没写“;”吧?

这是一道上机程序改错题,found代表下一行有错,需要改正
clrscr();是清屏函数,并不是一定要写的
程序问题一:while语句下面只有一个前引号,缺个后引号,在适当位置填个后引号就可!
程序问题二:k++后缺一个分号;如果是笔误的话,就在k++后面加个引号!
||是按住shift键的同时按两下回车键上面那个键!

此题并不完全,题干是什么?

main()前面}少了一个;
k++ 后面少了一个;
while (*p!!*q) 这里面应该是(*p||*q)吧
把这三个改下就可以运行了!