[英]Purpose of char a[0] in converting integer to string using itoa()
[英]Converting int to string without using itoa
#include <stdio.h>
//#include <<strong class="highlight">string</strong>.h>
// Function declarations
// typedef __w64 unsigned int size_t
size_t strlen(const char *);
char *strrev(char *);
char *itoa(int, char *, int);
int main() {
int num = 123;
char buf[5];
itoa(num, buf, 10);
printf("%s\n", buf);
return 0;
}
size_t strlen(const char *string) {
const char *s;
s = <strong class="highlight">string</strong>;
while (*s)
s++;
return s - <strong class="highlight">string</strong>;
}
char *strrev(char *str) {
char *p1, *p2;
if (!str || !*str)
return str;
for (p1 = str, p2 = str + strlen(str) - 1; p2 > p1; ++p1, --p2) {
*p1 ^= *p2;
*p2 ^= *p1;
*p1 ^= *p2;
}
return str;
}
char *itoa(int n, char *s, int b) {
static char digits[] = "0123456789abcdefghijklmnopqrstuvwxyz";
int i=0, sign;
if ((sign = n) < 0)
n = -n;
do {
s[i++] = digits[n % b];
} while ((n /= b) > 0);
if (sign < 0)
s[i++] = '-';
s[i] = '\0';
return strrev(s);
}
在这部分问题上出现错误...
s =字符串; 而(* s)s ++; return s-字符串;
说缺少“类”:缺少标签名称和语法错误:<
我不知道该如何解决..尝试各种东西..
任何帮助,将不胜感激..
非常感谢
看来您已经以某种方式将HTML标记添加到C ++源代码中:
s = <strong class="highlight">string</strong>;
while (*s)
s++;
return s - <strong class="highlight">string</strong>;
我会继续进行修复,但错误消息引用的是<
字符,因此我认为这是您的实际问题。 也许您错误地从某个网页复制并粘贴了代码?
编辑 :我看到@RayToal已编辑HTML出您的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.