1. 獲取字符串長度寫了幾道和字符串指針有關(guān)的編程題,和大家分享一下
成都創(chuàng)新互聯(lián)公司長期為上千多家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為漢中企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè),漢中網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
思路:
[1]獲取字符串
會發(fā)現(xiàn)相當(dāng)于實(shí)現(xiàn)strlen函數(shù)的功能,?如果使用scanf通過占位符%s輸入會導(dǎo)致遺漏空格,如果字符串中含有空格就會導(dǎo)致錯誤,因此我們通過指針用循環(huán)的方式獲取字符串
char ch[20];
char* m=ch; //指向字符數(shù)組ch的首元素
while((*m=getchar())!=EOF)//當(dāng)考慮空格輸入時(shí)用while循環(huán),循環(huán)終止條件EOF當(dāng)輸入\n時(shí)滿足
{
m++;
}
*(m-1)='\0';//在字符串末尾放入\0方便后續(xù)計(jì)算字符串長度
?[2]計(jì)算字符串長度
定義一個新的指針指向字符串首元素,指針++往后遍歷整個字符串,直到遇到字符串結(jié)束標(biāo)志'\0'為止
代碼實(shí)現(xiàn):#includeint main()
{
int a=0;
char ch[20];
char* m=ch; //指向字符數(shù)組ch的首元素
while((*m=getchar())!=EOF)//當(dāng)考慮空格輸入時(shí)用while循環(huán),循環(huán)終止條件EOF當(dāng)輸入\n時(shí)滿足
{
m++;
}
*(m-1)='\0';
char* x=ch;
while (*x!='\0')
{
x++;
a++;
}
printf("%d",a);
return 0;
}
?2.復(fù)制部分字符串思路:通過一個指針找到開始復(fù)制的第一個字符,然后遍歷字符串,并將每個字符依次復(fù)制
代碼實(shí)現(xiàn):
#includeint main()
{
int m=0,i=0;
char ch1[30];
char ch2[30];
scanf("%s",ch1);
scanf("%d",&m);
char* str=ch1;
str+=m-1;
while((*str)!='\0')
{
ch2[i++]=*str;
str++;
}
ch2[i]='\0';
printf("%s",ch2);
return 0;
}
3.?思路:通過之前的方式獲取整個字符串,然后設(shè)立一個指針從頭開始遍歷整個字符串,另外定義一個整形變量統(tǒng)計(jì)字符數(shù)量,如果遇到空格指針++,如果不是空格指針++同時(shí)整形變量++
代碼實(shí)現(xiàn):
#includeint main() {
char ch[20];
char* str=ch;
while((*str=getchar())!=EOF)
{
str++;
}
*(str-1)='\0';
char* x=ch;
int a=0;
while(*x!='\0')
{
if(*x==' ')
x++;
else
{
x++;
a++;
}
}
printf("%d",a);
return 0;
}
4.思路:為了實(shí)現(xiàn)多組輸入,用while循環(huán),scanf輸入放在循環(huán)條件部分,循環(huán)條件為輸入scanf()!=EOF,再根據(jù)字符串比較大小函數(shù)strcmp()比較判斷用戶名和密碼是否正確
代碼實(shí)現(xiàn):
#include#includeint main() {
char ch1[10],ch2[10];
while(scanf("%s %s", ch1, ch2)!=EOF)
{
if (strcmp(ch1, "admin") == 0 && strcmp(ch2, "admin") == 0)
printf("Login Success!\n");
else
printf("Login Fail!\n");
}
return 0;
}
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧