int find(char* source/*source string*/, char* target/*substring*/)//Jika ditemui, kembalikan kedudukan dalam rentetan sumber Jika tidak ditemui, ia akan kembali -1 tukar untuk mencari dan pulangkan 1, tukar Pulangan i ditukar kepada pulangan 1;
{
int i,j;
int s_len=strlen(sumber);
int t_len=strlen(sasaran);
jika(t_len>s_len)
{
kembali -1;
}
untuk(i=0;i
{
j=0;
int bendera=1;
jika(sumber[i]==sasaran[j])
{
int k,p=i;
untuk(k=0;k {
jika(sumber[p]==sasaran[j])
{
p++;
j++;
bersambung;
}
lain
{
bendera=0;
rehat;
}
}
}
lain
{
bersambung;
}
jika(bendera==1)
{
kembali i;
}
}
kembali -1;
}
Penunjuk fungsi kadangkala sangat berguna Contohnya, mentakrifkan penunjuk fungsi dalam struktur boleh melaksanakan ciri yang serupa dengan fungsi ahli kelas C++ dalam bahasa C.
Atur cara berikut mentakrifkan tatasusunan penunjuk fungsi Mengikut baki nombor input (1 atau 0), fungsi yang sepadan boleh dipanggil tanpa jika lain.
// Input ialah nombor ganjil
kosongkan FuncOdd(int n)
{
apung i, nIterator = 0;
printf("Anda memasukkan nombor ganjil.n");
untuk (i = 1; i {
nIterator+=1/i;
}
printf("Dan hasilnya ialah: %fn",nIterator);
}
// Input ialah nombor genap
kosongkan FuncEven(int n)
{
apung i, nIterator = 0;
printf("Anda memasukkan nombor genap;n");
untuk (i = 2; i {
nIterator+=1/i;
}
printf("Dan hasilnya ialah: %fn",nIterator);
}
int main()
{
int nInput = 0; // Simpan nombor yang dimasukkan
void (*func[2])(int); // Tentukan penunjuk fungsi untuk menunjuk kepada dua fungsi berbeza
func[0] = FuncEven;
func[1] = FuncOdd;
printf("Sila masukkan nombor:"); // Dapatkan input daripada konsol
scanf("%d",&nInput);
(*func[nInput%2])(nInput); // Panggil fungsi yang sepadan berdasarkan nombor input
kembali 0;
}
int atas tidak sepatutnya tergolong dalam kategori penunjuk, tetapi definisi pembolehubah biasa int ini bergantung pada cara ia digunakan Jika ia digunakan mengikut nombor negatif, 0, dan nombor positif, ia boleh dinilai ia digunakan sebagai kelas ini Pengecam definisi khas; jika pembolehubah ini ialah pembilang dalam gelung (bermaksud apabila bilangan gelung bertambah atau berkurang), anda boleh menentukan berapa kali gelung telah berjaya dilaksanakan
Reader ialah nama kelas, yang bermaksud kelas itu juga jenis data
Sama seperti int, ia adalah nama jenis data
Baca pembaca[Maxr]; bermaksud pembolehubah tatasusunan jenis ini mungkin ditakrifkan oleh makro
Mengapa ia boleh ditakrifkan seperti ini? Seharusnya kelas boleh mengandungi sebarang jenis data (sama seperti struct dalam c), termasuk kelas luaran
Atas ialah kandungan terperinci Pelaksanaan fungsi bahasa C yang ditulis menggunakan penunjuk. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!