Explain Quiz II 5
Main Function
No.
Code
1
//reverse in string
2
#include<stdio.h>
3
void ReverseWordInString(char inStr[], char outStr[]);
4
int main()
5
{
6
char str1[101];
7
char str2[101];
8
gets(str1);
9
ReverseWordInString(str1,str2);
10
printf("%s\n",str2);
11
printf("\n\n");
12
}
• ก
2
ก Function Declaration ก compiler
!"ก
• ก
6-7 ก array str1 "# str2 $ก%& ก'$ () 100 & + ก & -.)(‘\0’)
)-
• ก
8 -ก1 gets ก string ก%2 array str1
• ก
9 -ก ReverseWordInString !)-ก
32) (
o
3 array str1 2 array inStr
o
3 array str2 2 array outStr
Pass by value
o ก
3& "3
2 #-
ReverseWordInString
No.
Code
13
void ReverseWordInString(char inStr[], char outStr[])
14
{
15
int i = 0;
16
int j;
17
int l;
18
int k = 0;
19
int m = 0; //is the length of word
20
int len;
21
//count the character in string
22
while(inStr[i]!='\0')
23
{
24
i++;
25
}
26
//main count
27
for(j=0;j<=i;j++)
28
{
29
if((inStr[j]==' ')||(inStr[j]=='\0'))
30
{
31
len = j-m;
32
m = j; //use m to put a space
33
l = j;
34
//write the output
35
for(;k<m;k++)
36
{
37
if((inStr[l]==' ')||(inStr[l]=='\0'))
38
{
39
l--;
40
}
41
outStr[k] = inStr[l];
42
l--;
43
}
44
outStr[m] = ' ';
45
k++;
46
}
47
}
48
outStr[k] = '\0';
49
}
• กกก
o ก
22-25 $1ก& 1& ก'$
3 inStr
1ก& !)-ก
loop ก%1$ 2)#2& " i 45& -.)(‘\0’) 23กกก
loop
o ก