我有以下代码:
#include <stdio.h>
int main ( int argc, char *argv[] )
{
int M, N;
M = 1;
N = 1;
curr = 1;
if ( argv[1][0] == '-' )
{
curr = 2;
char *a = argv[1][1];
char *b = argv[1][3];
M = atoi(a);
N = atoi(b);
}
printf("%d\n%d", M, N);
}
Run Code Online (Sandbox Code Playgroud)
所以,我通过这个程序是这样的:
a.out -1,2
Run Code Online (Sandbox Code Playgroud)
而不是获得预期的输出
1
2
我遇到了分段错误.是什么赋予了?
#include <stdlib.h>
main()
{
char string[23] = "2345,";
char aString [sizeof string];
int i = 0;
while((aString[i] = string[i]) != ',')
++i;
char *ts = aString;
printf("%s\n", aString);
}
Run Code Online (Sandbox Code Playgroud)
我想将除逗号之外的所有内容从字符串复制到aString.但是,这不起作用 - 我用逗号打印出一个字符串,最后是一些垃圾.谁能告诉我这里我做错了什么?
好的,这很好.但是,编译后我收到此错误:
警告:内置函数'printf'的不兼容隐式声明
据我所知,我对printf没有任何错误.所以有人能告诉我发生了什么吗?