问题描述
- invalid use of void expression
- void dd(char* c)
{
int i=0;int j;
while (c[i]) i++;
i=i-1;
for(j=0;j<i/2;j++)
swap(c[j]c[i-j]);
}
int main()
{
char c[]=""123"";
printf(""%s""dd(c));
}
解决方案
printf(""%s""dd(c));
->
dd(c);
printf(""%s""c);
解决方案二:
因为你的dd函数定义的返回值为void,而你使用时却将其作为有返回值的函数使用了,代入printf的第一个参数中了。
应该修正你的printf代码,不能打印dd(c)因为它没有返回值的。
解决方案三:
printf(""%s""dd(c)); 语句有问题。
printf(""%s""字符串指针); 这样才能输出。
dd(c) 返回值为空,也就是 void 类型。printf报错(函数参数无法匹配)
解决方案四:
主函数中printf()的输出参数是dd( )子函数的返回值,而子函数的返回值你设置的是void,肯定就出现问题了。
好比我不给你钱,叫你去买东西,你肯定不干,对吧
时间: 2024-11-02 15:15:17