เรื่องมีอยู่ว่าเจ้าของกระทู้ได้ลองทำโจทย์เกี่ยวกับภาษาซี แล้วผลที่ได้ไม่ตรงกับโจทย์ที่ต้องการ ข้อนี้เป็นข้อที่ยากสำหรับเจ้าของกระทู้พอสมควรเพราะเพิ่งหัดเขียนด้วย ช่วยดูโค้ตว่าผิดตรงไหน ต้องแก้แบบไหน แล้วแก้อย่างไร
โดยโจทย์เกี่ยวกับเรื่องการ substring โจทย์มีอยู่ว่า 
          ให้ผู้ใช้ป้อนรับตัวอักษร ความยาวไม่เกิน 128 ตัวอักษร และรับ ตัวอักษรมาหนึ่งอักขระ รับตัวเลขที่ต้องการจะให้ substring
โดยผลการรันที่ต้องได้คือ
Enter: Hello World
from: e
len : 3
: llo
โดยมีเงื่อนไขว่า หากอักขระที่ป้อนไม่ปรากฎในคำที่เราป้อนเข้าไป ให้ return ค่า เป็น NULLและห้ามใช้ [] ลูป forในฟังก์ชัน ห้ามใช้ฟังก์ชันสำเร็จรูป การ substring ให้เรียกใช้ฟังก์ชัน char* diff(char *s,char from,int len)
ผลการรันของเจ้าของกระทู้
Enter: Hello World
from: e
len: 3
: llo World
นี้คือโค๊ตที่ได้มา
                 #include<stdio.h>
                 #include<string.h>
                 char* diff(char *s,char from, int len);
                 int main(){
                     char ls[128],m,*out;
                     int len;
                     printf("Enter:");
                     gets(ls);
    
                     printf("from:");
                     scanf("%c",&m);fflush(stdin);
    
                     printf("Len:");
                     scanf("%d",&len);
    
                     out = diff(ls,m,len);
                     if(out != NULL){
                     printf(":%s",out);
                     }
                     else{
                     printf("Not have this word");
                     }
                 }
                 char* diff(char *s,char from,int len){
                     int m=1;
                     char *ar;
                     ar = s;
                     while(*ar != '\0'){
                         if(*ar == from){
                             break;
                         }
                         ar++;
                     }
                     if(*ar != from){
                         return NULL;
                     }
                     else{
                         ar = s;
                         while(m<len){
                             ar++;
                             m++;
                             if(m == 2){
                                 *ar = '\0';
                
                             }
            
                         }
                         return ar;
                     }
                 }
ขอบพระคุณในที่นี้ล่วงหน้าด้วย																															
						 
												
						
					
ถามเกี่ยวกับโค้ตภาษาซี
โดยโจทย์เกี่ยวกับเรื่องการ substring โจทย์มีอยู่ว่า
ให้ผู้ใช้ป้อนรับตัวอักษร ความยาวไม่เกิน 128 ตัวอักษร และรับ ตัวอักษรมาหนึ่งอักขระ รับตัวเลขที่ต้องการจะให้ substring
โดยผลการรันที่ต้องได้คือ
Enter: Hello World
from: e
len : 3
: llo
โดยมีเงื่อนไขว่า หากอักขระที่ป้อนไม่ปรากฎในคำที่เราป้อนเข้าไป ให้ return ค่า เป็น NULLและห้ามใช้ [] ลูป forในฟังก์ชัน ห้ามใช้ฟังก์ชันสำเร็จรูป การ substring ให้เรียกใช้ฟังก์ชัน char* diff(char *s,char from,int len)
ผลการรันของเจ้าของกระทู้
Enter: Hello World
from: e
len: 3
: llo World
นี้คือโค๊ตที่ได้มา
#include<stdio.h>
#include<string.h>
char* diff(char *s,char from, int len);
int main(){
char ls[128],m,*out;
int len;
printf("Enter:");
gets(ls);
printf("from:");
scanf("%c",&m);fflush(stdin);
printf("Len:");
scanf("%d",&len);
out = diff(ls,m,len);
if(out != NULL){
printf(":%s",out);
}
else{
printf("Not have this word");
}
}
char* diff(char *s,char from,int len){
int m=1;
char *ar;
ar = s;
while(*ar != '\0'){
if(*ar == from){
break;
}
ar++;
}
if(*ar != from){
return NULL;
}
else{
ar = s;
while(m<len){
ar++;
m++;
if(m == 2){
*ar = '\0';
}
}
return ar;
}
}
ขอบพระคุณในที่นี้ล่วงหน้าด้วย