aus*_*ete 14 c string gcc windows-7
我的计划如下;
#include <stdio.h>
#include <string.h>
int main()
{
char string[] = "Gentlemen start your engines!";
printf("That string is %s characters long.\r\n", strlen(string));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我正在gcc下编译,虽然它没有给我任何错误,但程序每次运行时都会崩溃.从我见过的例子来看,代码似乎很好.很高兴知道我做错了什么.
谢谢.
Pra*_*rav 16
使用不正确的格式说明符printf()调用未定义的行为.正确的格式说明符应该是%zu(不是%d)因为返回类型strlen()是size_t
注意:长度修饰符zin %zu表示长度相同的整数size_t
你有错误的格式说明符.%s用于字符串,但你传递size_t(strlen(string)).使用不正确的格式说明符printf()调用未定义的行为.请%zu改用,因为返回类型strlen()是size_t.
所以改变
printf("That string is %s characters long.\r\n", strlen(string));
Run Code Online (Sandbox Code Playgroud)
至:
printf("That string is %zu characters long.\r\n", strlen(string));
Run Code Online (Sandbox Code Playgroud)
由于您正在使用,请gcc查看此处以获取有关可传递给的更多信息printf
| 归档时间: |
|
| 查看次数: |
3632 次 |
| 最近记录: |