nav39
New Coder
In the below code, how does s auto increment after one iteration of the while loop, I havent put the s++ command.
#include<stdio.h>
int romanToInt(char* s) {
int sum = 0;
char prev = ' ';
while (*s != '/0')
{
switch (*s)
{
case 'I':
sum += 1;
break;
case 'V':
sum += 5;
if (prev == 'I') sum-=2;
break;
case 'X':
sum += 10;
if (prev == 'I') sum-=2;
break;
case 'L':
sum += 50;
if (prev == 'X') sum-=20;
break;
case 'C':
sum += 100;
if (prev == 'X') sum-=20;
break;
case 'D':
sum += 500;
if (prev == 'C') sum-=200;
break;
case 'M':
sum += 1000;
if (prev == 'C') sum-=200;
break;
}
prev = *(s++);
}
return sum;
}
int main()
{
char s[] = "CIV";
printf("%d\n",romanToInt(s));
}
#include<stdio.h>
int romanToInt(char* s) {
int sum = 0;
char prev = ' ';
while (*s != '/0')
{
switch (*s)
{
case 'I':
sum += 1;
break;
case 'V':
sum += 5;
if (prev == 'I') sum-=2;
break;
case 'X':
sum += 10;
if (prev == 'I') sum-=2;
break;
case 'L':
sum += 50;
if (prev == 'X') sum-=20;
break;
case 'C':
sum += 100;
if (prev == 'X') sum-=20;
break;
case 'D':
sum += 500;
if (prev == 'C') sum-=200;
break;
case 'M':
sum += 1000;
if (prev == 'C') sum-=200;
break;
}
prev = *(s++);
}
return sum;
}
int main()
{
char s[] = "CIV";
printf("%d\n",romanToInt(s));
}