format指定类型'char *'但参数的类型为'char'[-Wformat]

时间:2016-11-12 18:38:53

标签: c command-line-arguments

我试图检查并输出从终端调用特定程序“format.c”时给出的命令行参数。我收到以下错误,我不明白它告诉我的是什么。 错误: format指定类型'char *'但是       参数的类型为'char'[-Wformat] 这是我到目前为止的代码:

import numpy as np
import tensorflow as tf

targets = np.array([[.1,.2,.3],[.3,.2,.1],[.5,.3,.5],[.5,.5,.5],[.6,.8,.9]])
guesses = np.array([[.5,.5,.5],[.3,.3,.4],[.5,.6,.4]])

targets = tf.reshape(targets,(5, 1, 3))
goal = tf.reduce_min(tf.reduce_sum(tf.square(targets - guesses), 2), 0)
sess = tf.Session()
o = sess.run(goal)
print o

1 个答案:

答案 0 :(得分:0)

由于argv[i]的类型为*argv[i],您应该在printf中将printArguments而不是argv传递给char **。因此argv[i]的类型为char *,而*argv[i]的类型为char%s的{​​{1}}说明符需要printf参数。

出于同样的原因,您还应该将char *作为参数传递给argv,而不是printArguments。您希望传递整个参数列表,而不是指向第一个参数的第一个字符的指针。我很惊讶你也没有收到警告。

相关问题