void main() {
int num;
num = 1;
num++;
num = num + 9;
printf('%u',num);
}
这个有什么问题吗?它显示出了分段错误。用C语言编写的。
void main() {
int num;
num = 1;
num++;
num = num + 9;
printf('%u',num);
}
'%u'
应该改为双引号 "%u"
。C语言不同于SQL,'%u'
被认为是一个多字符字面量。
正如Erik所说,在您的情况下使用 %d
更好。
printf("%d")
- printf函数需要一个C字符串而不是一个字符。%d
是正确的整数格式说明符。
'%u'(一个多字符常量)应该是"%u"(一个char数组)。字符常量被误解为指向随机内存的指针。
int
而不是const char *
)作为printf
的第一个参数传递,您将会收到一个错误提示,但是您忘记了#include <stdio.h>
或自己定义printf
的原型。由于printf
是一种可变参数函数,因此这也会导致未定义行为。
int main(int argc, char **argv)
函数! - Benoit