[英]Command line arguments, printing columns and rows
我正在尝试打印出从命令行参数输入的字符。 我在解决这个问题时遇到了麻烦。
当我运行./test Foo bar时,我希望它打印
./test
Foo
o
o
bar
a
r
虽然这可能不是最佳解决方案,但我希望使用char数组组成的数组来完成它,它看起来像三维数组,因此我将使用三层嵌套的for循环。 我到目前为止所拥有的是:
for (i = 1; i < argc; i++) {
for (j = 0; j < argv[argc][j]; j++) {
for (k = 0; k < argv[argc][j]; k++) {
printf("%c", k);
}
}
printf("\n");
}
最外面的循环从1开始,因为我不想打印出./test
-bit。 但是我迷路了。 我可以使用二维数组,但我想尝试使用额外的维度。
你能给我一些指导吗?
您的条件( j < argv[argc][j]
, k < argv[argc][j]
)错误。
像这样修复:
#include <stdio.h>
int main(int argc, char *argv[]){
for (int i = 0; i < argc; i++) {
puts(argv[i]);
if(i){
for(int j = 1; argv[i][j]; ++j){
printf("%c\n", argv[i][j]);
}
printf("\n");
}
}
return 0;
}
您可以在2个循环中解决此问题
for (i = 1; i < argc; i++) {
for (j = 0; argv[i][j]!='\0'; j++) {
printf("%c", argv[i][j]);
}
printf("\n");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.