Code:#include<stdio.h> #include<conio.h> #include<string.h> int *strchr(char *s,char c); void main(void) { textmode(C80); clrscr(); char s[80],c; printf("Nhap s=");gets(s); printf("Nhap c=");scanf("%s",&c); strchr( s,c); } int *strchr(char *s,char c) { for(int i=1;s[i]!='\0';i++) { if(s[i]==c) { printf("Vi tri xuat hien ky tu %c lan dau tien la %d",c,i+1); break; } } return 0; }
Đoạn code của em bị lỗi gì vậy.Sao em nhập s,và c xong,bấm enter thì nó thoát ra
Không biết ghi gì luôn ...
Em đã sửa được rồi.Em thêm getch(); vào.Cám ơn anh nhiều!
Đã được chỉnh sửa lần cuối bởi kegiaumat055 : 12-04-2008 lúc 06:43 AM.
Không biết ghi gì luôn ...
Những người pro họ viết vầy nè:
system("PAUSE");
return 0;
Đừng lầm cái này chỉ có ở C++, ở C cũng có nha!
printf("Nhap c=");scanf("%s",&c);
vì c là kí tự do vậy bạn chỉ nên để là %c trong hàm scanf,mặc dù để như bạn không có gì sai về mặt kết quả.
vả lại theo cách hiểu của mình thì bạn nên để hàm là kiểu
void strchr(char*s,char c) thì hay hơn
vì trong hàm main bạn đâu có gán kết quả trả về cho 1 biến nào đó.
Pro khỏi cần viết gì hết luôn ^^ . Dùng VC++ ấy mà . ^^Những người pro họ viết vầy nè:
system("PAUSE");
return 0;
Đừng lầm cái này chỉ có ở C++, ở C cũng có nha!