假定輸人的字符串中只包含字母和*號。請編寫函數(shù)proc,它的功能是:將字符串中 的前導*號全部刪除,
假定輸人的字符串中只包含字母和*號。請編寫函數(shù)proc,它的功能是:將字符串中 的前導*號全部刪除,中間和后面的*號不刪除。 例如,若字符串中的內(nèi)容為****a*bc*def*g****,刪除后,字符串中的內(nèi)容則 應當是a*bc*def*g****。 注意:部分源程序給出如下。 請勿改動main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號中填入所編 寫的若干語句。 試題程序: include<stdio.h> include<conio.h> void proc(char*str) { } void main { char str[81]; printf("Enter a string:kn"); gets(str); proc(str); printf("The string after deleted:kn"); puts(str);}
正確答案:void proc(char * str){char*p=str; while(* p= =*)p++;//通過p的移動來達到使p指向第一個不是*號的字符 for(;* p!=\0;p++,str++)//把從第一個不是*號的字符放到a中 * str=* P: * str=\0;//最后用\0作為字符串結束標志 }【解析】題目中要求將字符串中的前導*號全部刪除,首先將指針P移動到第一個不是*的字符,將指針P之后的字符放入原來的字符串中,并為新的字符串添加結束符。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學等領域),建議您咨詢相關領域?qū)I(yè)人士。