首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

程序改错题解决方案

2013-11-12 
程序改错题/*------------------------------------------------------【程序改错】-----------------------

程序改错题
/*------------------------------------------------------    
【程序改错】
--------------------------------------------------------

功能:求出在字符串中最后一次出现的子字符串的地址,通过函
      数值返回,在主函数中输出从此地址开始的字符串;若未
      找到,则函数值为NULL。
例如:当字符串中的内容为:"abcdabfabcdx",t中的内容为:
      "ab"时,输出结果应是:abcdx。当字符串中的内容为:
      "abcdabfabcdx",t中的内容为:"abd"时,则程序输出
      未找到信息:not found!。

------------------------------------------------------*/

#include <conio.h>
#include <stdio.h>
#include <string.h> 

char * fun (char *s, char *t )
{
  char *p , *r, *a;
  /**********FOUND**********/
  a == NULL;
  while ( *s )
  { 
    p = s; 
    r = t;
    while ( *r )
      /**********FOUND**********/
      if ( r == p ) 
      {
         r++; 
         p++; 
      }
      else 
        break;
      /**********FOUND**********/
      if ( *r ='\0' ) a = s;
      s++;
  }
  return a ;
}

main()
{
  char s[100], t[100], *p;
  printf("\nPlease enter string S :"); scanf("%s", s );
  printf("\nPlease enter substring t :"); scanf("%s", t );
  p = fun( s, t );
  if ( p ) 
    printf("\nThe result is : %s\n", p);
  else
    printf("\nNot found !\n" );
}








【程序改错】
--------------------------------------------------------

功能:编写一个程序计算某年某月有几天。(注意要区分闰年)

------------------------------------------------------*/

#include<stdio.h>

void main()
{
  int yy,mm,len;
  printf("year,month=");
  scanf("%d%d",&yy,&mm);
  /**********FOUND**********/
  switch(yy)
  {
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:
            len=31;
            /**********FOUND**********/
            break
    case 4:
    case 6:
    case 9:
    case 11:
           len=30;
           break;
    case 2:
           if (yy%4==0 && yy%100!=0 || yy%400==0)
             len=29;
           else
             len=28;
           break;
    /**********FOUND**********/
    default 
           printf("input error!\n");
           break;
  }
  printf("The length of %d %d id %d\n",yy,mm,len);
}




请大家帮忙看一下,程序题哪里错了? c 编程
[解决办法]
第一题 a==NULL 改成 a=NULL  ,  if ( r == p ) 改成if(*r==*p)  ,if ( *r ='\0' ) a = s;改成if ( *r =='\0' ) a = s;

第二题   case 12:
            len=31;
            /**********FOUND**********/
            break  //这里加分号;  


   switch(yy)改成 switch(mm)
  default //加冒号:
           printf("input error!\n");
           break;

热点排行