Longest Non-Repeating Substring
C, score 2,  747   720  662 bytes



L  [  1  &lt;&lt;  7  ]  ,  *  q  ,  *  r  ,  l  ,  d  ,  i  ,  c  ,  j  ,  s  ,  t  ,  k  =  1  &lt;&lt;  7  ;  h  (  )  {  q  =  s  +  i  +  j  ++  ;  *  q  %  k  &amp;&amp;  !  L  [  *  q  %  k  ]  ++  &amp;&amp;  h  (  ++  c  )  ;  }  g  (  )  {  q  =  s  +  i  ;  *  q  %  k  ?  z  (  k  )  ,  h  (  j  =  c  =  0  )  ,  c  &gt;  d  &amp;&amp;  (  d  =  c  )  &amp;&amp;  (  l  =  i  )  ,  g  (  ++  i  )  :  0  ;  }  f  (  S  ,  T  )  {  s  =  S  ;  l  =  i  =  d  =  0  ;  g  (  t  =  T  )  ;  p  (  i  =  0  )  ;  }  p  (  )  {  q  =  s  +  l  +  i  ;  r  =  t  +  i  ;  i  ++  &lt;  d  ?  p  (  *  r  =  *  q  )  :  (  *  r  =  0  )  ;  }  z  (  i  )  {  L  [  --  i  ]  =  0  ;  i  &amp;&amp;  z  (  i  )  ;  }


Works at least on 32-bit MinGW (with optimizations disabled). Doesn't use a single keyword.

Works apparently on TIO with gcc and clang, too: Try it online! (Thanks @Dennis!)

Call with:

int main()
{
    char str[1024];

    f("Good morning, Green orb!", str);
    puts(str);

    f("fffffffffff", str);
    puts(str);

    f("oiiiiioiiii", str);
    puts(str);

    f("1234567890", str);
    puts(str);

    f("L  [  1  &lt;&lt;  7  ]  ,  *  q  ,  *  r  ,  l  ,  d  ,  i  ,  c  ,  j  ,  s  ,  t  ,  k  =  1  &lt;&lt;  7  ;  h  (  )  {  q  =  s  +  i  +  j  ++  ;  *  q  %  k  &amp;&amp;  !  L  [  *  q  %  k  ]  ++  &amp;&amp;  h  (  ++  c  )  ;  }  g  (  )  {  q  =  s  +  i  ;  *  q  %  k  ?  z  (  k  )  ,  h  (  j  =  c  =  0  )  ,  c  &gt;  d  &amp;&amp;  (  d  =  c  )  &amp;&amp;  (  l  =  i  )  ,  g  (  ++  i  )  :  0  ;  }  f  (  S  ,  T  )  {  s  =  S  ;  l  =  i  =  d  =  0  ;  g  (  t  =  T  )  ;  p  (  i  =  0  )  ;  }  p  (  )  {  q  =  s  +  l  +  i  ;  r  =  t  +  i  ;  i  ++  &lt;  d  ?  p  (  *  r  =  *  q  )  :  (  *  r  =  0  )  ;  }  z  (  i  )  {  L  [  --  i  ]  =  0  ;  i  &amp;&amp;  z  (  i  )  ;  }");
    puts(str);
}


Output:



The code with slightly more readable formatting:

L[1&lt;&lt;7],
*q, *r, l, d, i, c, j, s, t, k=1&lt;&lt;7;

h()
{
    q = s+i+j++;
    *q%k &amp;&amp; !L[*q%k]++ &amp;&amp; h(++c);
}

g()
{
    q = s+i;
    *q%k ? z(k), h(j=c=0), c&gt;d &amp;&amp; (d=c) &amp;&amp; (l=i), g(++i) : 0;
}

f(S, T)
{
    s = S;
    l = i = d = 0;
    g(t=T);
    p(i=0);
}

p()
{
    q = s+l+i;
    r = t+i;
    i++&lt;d ? p(*r=*q) : (*r=0);
}

z(i)
{
    L[--i] = 0;
    i &amp;&amp; z(i);
}


And this can be used to generate proper spacing to get to the formatting with score 2: Try it online!



C, score 3, 309 bytes

i
,
j
,
l
,
c
,
d
;
f
(
\
c\
\
h\
\
a\
\
r
*
s
)
{
\
f\
\
o\
\
r
\
(
i
=
l
=
d
=
0
;
s
[
i
]
;
c
&gt;
d
&amp;&amp;
(
d
=
c
)
&amp;&amp;
(
l
=
i
)
,
++
i
)
\
f\
\
o\
\
r
(
\
c\
\
h\
\
a\
\
r

L
[
\
1\
\
2\
\
8
\
]
=
{
j
=
c
=
0
}
;
s
[
i
+
j
]
&amp;&amp;
!
L
[
s
[
i
+
j
++
]
]
++
;
++
c
)
;
\
w\
\
r\
\
i\
\
t\
\
e
(
1
,
s
+
l
,
d
)
;
}


Try it online!