0
#include <stdio_ext.h>
#include <stdlib.h>
int main()
{
char a[10],c[10];
int i,b;
b=1;
i=0;
printf(": ");
scanf("%s",a);
fflush(stdin);
__fpurge(stdout);
while(i<=10)
{
c[i]=a[i]+b;
i++;
}
printf("%s",c);
return (EXIT_SUCCESS);
}
所以事情是我要打印包含在ASCII表下一個字符一個字符,但每次我運行它,我得到這個錯誤,雖然它看起來尺寸爲10的工作:*** ***棧//嘗試打印字符
: asdf
*** stack smashing detected ***: /home/polo/Escritorio/ejemplo/dist/Debug/GNU-Linux/ejemplo terminated
bteg� c8�l�#w�@���
RUN FINISHED; Aborted; core dumped; real time: 4s; user: 0ms; system: 0ms
'fflush(stdin);'是UB。 –
WTF是'__fpurge'? – melpomene