當前位置:編程學習大全網 - 編程軟體 - C語言 編程錯誤

C語言 編程錯誤

調試了壹下,問題在於字符串輸入後沒有清stdin流殘余數據,故變量ch沒有獲得正確值。

修改代碼和註釋如下:

#include?<stdio.h>

#include?<stdlib.h>

int?Strchr(char?s[],char?ch);

int?main()

{

char?ch;?

int?y;

char?s[1000];

printf("Please?input?a?string:");

scanf("%s",&s);

getchar();?//清除stdin流的殘留數據

printf("Search:");

scanf("%c",&ch);?

getchar();//清除stdin流的殘留數據

y=Strchr(s,ch);?

printf("the?first?position?is:%d\n",y);

system("PAUSE");

return?0;

}

int?Strchr(char?s[],char?ch)

{

int?i;

//for(i=0;i<=1000;i++)數組下標0~999

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

{

if(s[i]==ch)//比較用==

{

return?i+1;?//換算為正常順序位置

}

//else?if(s[i]!=ch)?邏輯有誤

//{

//?return?-1;

//}

}

return?-1;

}

在VC6調試通過,如下圖:

供參考。

  • 上一篇:HD64F7044F28這個芯片程序怎麽讀、寫?我把好板子上拆下來再裝上去,芯片裏面怎麽沒有程序了
  • 下一篇:小米路由器的智能場景怎麽玩
  • copyright 2024編程學習大全網