小编Ver*_*era的帖子

将`%*s`与`printf`一起使用时的编译器警告

当我编译以下内容时:

printf("%*s",lengths[i],row[i]);
Run Code Online (Sandbox Code Playgroud)

我收到这个警告:

4.0.c:407: warning: field width should have type ‘int’, but argument 2 has type 
‘long  unsigned int’
Run Code Online (Sandbox Code Playgroud)

长度声明为:unsigned long *lengths;.

我试图解决问题但无济于事.添加这个,

printf("%*lu",(unsigned long)lengths[i],row[i]);
Run Code Online (Sandbox Code Playgroud)

我没有得到更多的警告,但代码不能正常工作.

谢谢维拉

c printf warnings

2
推荐指数
1
解决办法
1152
查看次数

标签 统计

c ×1

printf ×1

warnings ×1